是否有可能实际构建包含要构建一次的java代码的maven项目,并且可以共享二进制文件?
问题:我试图建立的项目将花费我大约3-4个小时,并且需要很高的互联网带宽。我正在检查是否有可能在其他几台机器中重新使用这个已构建的项目。
我之前曾处理过一些涉及makefile的c++项目,这非常简单。我是Java / eclipse新手,我需要帮助才能弄清楚这是否真的是可能的。
PS:我确实试图找到现有的解决方案;他们不是直截了当的,或者他们说这是不可能的。
发布于 2016-02-12 10:06:08
构建一次并脱机共享它
在Maven中,您只能构建项目一次,并获得一个包含所有依赖项的JAR文件。这样,你就可以把这个罐子分享给其他机器了。
下面是制作它的步骤。
<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>package assembly:single打包您的项目,如下所示在控制台里,
mvn package assembly:single在日食中,

MyFullPack-0.0.1-SNAPSHOT-jar-with-dependencies.jar加载了完整的依赖项。


发布于 2016-02-10 11:50:43
是否有可能实际构建包含要构建一次的java代码的maven项目,并且可以共享二进制文件?
是的,这就是Maven的全部要点,您只构建一次项目,从而生成一个工件( jar/war .)存储在本地maven存储库中。
以下命令构建项目并将其保存在本地回购中:
mvn clean install 然而,如果您这样做,您只有工件在您的本地回购。
一个很好的实践是创建一个存储库并在那里存储您的工件:https://maven.apache.org/repository-management.html
使用以下命令将快照依赖项存储在存储库上:
mvn clean deploy然后,通过在新项目的dependencies文件中指定pom.xml,可以通过倍数计算机重用组件。
您可能想看看这个指南:
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html
显然,您需要配置存储库和maven项目,以便使用此类设置。
发布于 2016-02-11 03:45:46
首先要做的是。您的项目是web应用程序(war)还是企业应用程序(ear),还是仅仅是一个独立的Jar?
您可以使用POM.xml中的打包标记将应用程序打包到JAR、WAR、EAR
示例:
<packaging>war</packaging>
<packaging>ear</packaging>
<packaging>jar</packaging>然后运行mvn干净安装。
在project/src/target中,您应该看到生成的jar、war或ear,您可以使用这些jar、war或ear部署到您的计算机或任何其他机器上。
或
在运行安装后,您还可以在.m2文件夹中找到它。
https://stackoverflow.com/questions/35217128
复制相似问题