Siv*_*iva 16 java eclipse maven
是否有可能实际构建一个包含java代码的maven项目,并且可以共享二进制文件?
问题:我正在尝试构建的项目需要大约3-4个小时,并且需要高互联网带宽.我试图检查在其他几台机器中重新使用这个构建项目的可能性.
我之前使用过涉及makefile的c ++项目,这非常简单.我是Java/eclipse的新手,需要帮助才能弄清楚这是否真的有可能.
PS:我确实试图找到现有的解决方案; 他们不是明星前锋,或者他们说不能这样做
Tha*_*nga 15
在Maven中,您只能构建一次项目,并获得一个完全包含所有依赖项的JAR文件.这样,您可以将此JAR与其他机器脱机共享.
以下是制作它的步骤.
- 首先使用以下设置更新您的pom.xml
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.thanga.MyTest[REPLACE WITH YOUR MAIN CLASS]</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
- 使用
package assembly:single
如下所示的目标打包您的项目
在控制台中,
mvn package assembly:single
Run Code Online (Sandbox Code Playgroud)
在日食中,
- 运行此命令,您就可以获得两个JAR文件.其中一个
MyFullPack-0.0.1-SNAPSHOT-jar-with-dependencies.jar
已加载完整的依赖项.
- 您可以打开JAR以查看依赖项已打包,如下所示.
- 您可以离线共享此JAR到其他计算机,而无需进行任何构建
是否有可能实际构建一个包含java代码的maven项目,并且可以共享二进制文件?
是的,这就是Maven的全部内容,您只需构建一次项目,从而生成一个存储在本地maven存储库中的工件(您的jar/war ...).
以下命令构建项目并将其保存在本地repo中:
mvn clean install
Run Code Online (Sandbox Code Playgroud)
但是,如果执行此操作,则只有本地仓库上的工件.
一个好的做法是创建一个存储库并将工件存储在那里:https: //maven.apache.org/repository-management.html
使用以下命令会将快照依赖项存储在存储库中:
mvn clean deploy
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过dependencies
在新项目的pom.xml文件中指定,通过多台计算机重用您的组件.
您可能想看一下本指南:
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
显然,您需要配置存储库和maven项目才能使用此类设置.
归档时间: |
|
查看次数: |
4712 次 |
最近记录: |