我变得非常沮丧 . 我无法在互联网上的任何地方找到我的问题的单一,有凝聚力的答案 . 很多文档,但没有任何东西可以将它们组合在一起(尽管我能找到) .
我只需要有人告诉我:
-
如何设置一个groovy项目(编辑:包括放置源文件的位置,在哪些目录,目录结构等)
-
假设我之前没有构建groovy
-
或java之前(我有,但与我合作)
-
以某种方式我可以指定一个依赖项(这是我的依赖项 - > https://github.com/bpsm/edn-java)所以可能使用maven或gradle
-
一个有主类和主方法的人(再次,和我一起工作)
-
在构建结束时,我需要一个jar文件,我可以通过
java -jar <groovy-project>.jar
执行打印出"hello world"
尽可能简单 .
2 回答
我强烈推荐Gradle;设置非常简单(虽然我在学习它时也很挣扎) . 我在github中添加了生成的项目 .
让我们在没有IDE的情况下从零创建项目结构 . 我猜你已经$JAVA_HOME set up了 .
1.创建项目结构
Download Gradle并将其放入
$PATH
创建目录项目(我创建了
/tmp/gr8ex
)切换到它并运行
gradle init
[1]编辑
build.gradle
创建的文件并添加以下行:现在是源文件;我们需要创建gradle使用的默认目录结构(我们可以更改它,但让我们使用默认值):
2.添加源代码
gedit src/test/groovy/org/gr8ex/HelloTest.groovy
:gedit src/main/groovy/org/gr8ex/Hello.groovy
) . 请注意,它已经有我们的static main
方法:gradle test
)并断言我们收到消息BUILD SUCCESSFUL
:完成 . 是时候创建应用程序jar了 .
3.创建jar可执行文件
有几种方法可以实现这一点(如shadow plugin) . 我会坚持使用"fatjar"方法 .
build.gradle
[5]中添加fatjar
指令:jar
将在builds/libs/gr8ex.jar
中 . 让我们执行它:[1]:Gradle创建一些基本结构并添加包装脚本,以便在没有Gradle的情况下执行它(如果需要) .
[2]:我们告诉gradle这个项目将使用groovy
[3]:我们告诉gradle使用
mavencentral
存储库 . JCenter也很受欢迎 .[4]:这里我们告诉gradle这个项目需要在编译和测试阶段使用groovy-all lib
[5]:如果你只是坚持使用
jar {}
指令,比如this answer,那么你将会得到一个非常薄的jar,它将缺少groovy库 . 这个"fatjar"将你的lib打包到jar中 . 根据您的使用情况,您可能需要稍微调整一下 .使用Groovy Maven设置Eclipse可能会很好用 . 你只需要一个与此类似的pom.xml:
sources部分是可选的,因为它应该在src / main / groovy和src / test / groovy中查找你的源代码 . Eclipse应该能够将您的项目配置为maven项目,并自动获取Groovy性质 .
由于您已在maven中配置了Groovy编译器,因此对
mvn install
的调用应生成.jar文件,并将Groovy类转换为.class文件 .至于主要方法,就像你通常使用maven一样: