是否有可能只使用eclipse和共享构建一个java项目?
是否有可能实际构建一个包含java代码的maven项目,并且可以共享二进制文件?
问题:我正在尝试构建的项目需要大约3-4个小时,并且需要高互联网带宽。 我试图检查在其他几台机器中重新使用这个构建项目的可能性。
我之前使用过涉及makefile的c ++项目,这非常简单。 我是Java / eclipse的新手,需要帮助才能弄清楚这是否真的有可能。
PS:我确实试图找到现有的解决方案; 他们不是明星前锋,或者说他们不能这样做
构建一次并离线共享
在Maven中,您只能构建一次项目,并获得一个完全包含所有依赖项的JAR文件。 这样,您可以将此JAR与其他机器脱机共享。
以下是制作它的步骤。
- 首先使用以下设置更新您的pom.xml
maven-assembly-plugin com.thanga.MyTest[REPLACE WITH YOUR MAIN CLASS] jar-with-dependencies
- 使用目标
package assembly:single
打包项目package assembly:single
,如下所示
在控制台中,
mvn package assembly:single
在日食中,
- 运行此命令,您就可以获得两个JAR文件。 其中一个
MyFullPack-0.0.1-SNAPSHOT-jar-with-dependencies.jar
已加载完整的依赖项。
- 您可以打开JAR以查看依赖项已打包,如下所示。
- 您可以离线共享此JAR到其他计算机,而无需进行任何构建
是否有可能实际构建一个包含java代码的maven项目,并且可以共享二进制文件?
是的,这就是Maven的全部内容,您只需构建一次项目,从而生成一个存储在本地maven存储库中的工件(您的jar / war …)。
以下命令构建项目并将其保存在本地仓库中:
mvn clean install
但是,如果执行此操作,则只在本地仓库中拥有工件。
一个好的做法是创建一个存储库并将工件存储在那里: https : //maven.apache.org/repository-management.html
使用以下命令会将快照依赖项存储在存储库中:
mvn clean deploy
然后,您可以通过在新项目的pom.xml文件中指定dependencies
,通过多台计算机重用组件。
您可能想看一下本指南:
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
显然,您需要配置存储库和maven项目才能使用此类设置。
首先要做的事情。 您的项目是Web应用程序(战争)还是企业应用程序(耳朵)还是仅仅是一个独立的Jar?
您可以使用POM.xml中的打包标记将应用程序打包到JAR,WAR,EAR
例子:
war ear jar
然后运行mvn clean install
在project / src / target中,您应该看到生成的jar,war或ear,您可以使用它来部署在您的计算机或任何其他计算机上。
要么
运行安装后,您还可以在.m2文件夹中找到它。
如果您使用maven, mvn install
会将您的二进制文件安装到$ {home} /.m2文件夹中。 这些二进制文件可用于将在同一台机器上运行的所有其他maven作业。
如果您需要在多台计算机之间共享二进制文件,则可以将jar部署到存储库,例如nexus或artifactory。
您可以只获取目标文件夹的jar文件并将其复制到其他计算机,否则您可以使用某些共享存储库(如nexus或者artifactory)来共享您构建的二进制文件。 Maven能够自动将工件部署到这些存储库中