gpt4 book ai didi

eclipse - Eclipse工作区设置和打包独立的jar

转载 作者:行者123 更新时间:2023-12-03 03:16:41 26 4
gpt4 key购买 nike

我在Eclipse工作区中有5个常规Java项目,它们具有相互依赖关系和外部jar依赖关系
存在于作为maven存储库存在的库上,不存在。

eclipse中一切正常,但是我需要执行两个任务:

1)
将所有内容打包到一个可运行的jar中,我可以将其上传到另一台计算机并运行,而无需进行设置
那里有同样的 eclipse 环境。我一直在看gradle / maven,但不知道我是否需要像“复杂”这样的东西
似乎我的设置很多,必须更改工作区设置才能使用这些工具,但是我可能是错的。

2)
我很快想在google code上托管两个Java项目的代码,因此工作区应以某种方式进行结构化
这使任务顺利进行。

我提到这两个任务是因为我不知道它们是否以某种方式交互。

如何解决这个问题?
提前致谢。

最佳答案

您的描述听起来很像Gradle的多项目支持以及Eclipse和应用程序插件。这是我将如何处理的一个简单示例。

您的项目可能位于相同的Eclipse工作区中,但不一定位于同一文件夹中,因此请记住以下目录结构假定您可以随意移动它们。

|-- component1
|-- component2
`-- myRunnableApp

第一步是创建顶级build.gradle文件和settings.gradle。
|-- build.gradle
|-- settings.gradle
|-- component1
|-- component2
`-- myRunnableApp

您的settings.gradle将指示gradle将子目录视为子项目。
include ':component1', ':component2', ':myRunnableApp' 

您的build.gradle将包含所有子项目共有的设置,在这种情况下,我们要应用java和eclipse插件:
subprojects {

apply plugin: 'eclipse'
apply plugin: 'java'

repositories {
mavenCentral()
}
}

这应该足以使您通过发出 gradle eclipse生成Eclipse项目。接下来,您将要声明项目之间的依赖关系:

component1 / build.gradle
dependencies {
// declare your 3rd party jar dependencies as needed
compile 'group:artifact:version'
}

现在,您可以声明项目之间的依赖关系-生成它们时,这将反射(reflect)在您的Eclipse项目文件中。

component2 / build.gradle
dependencies {
compile project(':component1')
}

最后,您需要将应用程序插件应用于可运行的项目。它将为UNIX和Windows生成jar文件以及包装的sh / bat文件。

myRunnableApp / build.gradle
apply plugin: 'application'

mainClassName = 'my.custom.app.Main'

dependencies {
// component 1 is a transitive dependency of component 2
compile project(':component2')
}

就是这样!我希望这应该是推出自己的版本的一个很好的起点。查看gradle文档以了解多项目构建,java插件,应用程序插件和依赖项管理。

希望有帮助!

关于eclipse - Eclipse工作区设置和打包独立的jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13107977/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com