是否有可能只使用Eclipse和共享建立一个Java项目一次?

是否有可能实际构建一个包含Java代码的Maven项目,并且二进制文件可以共享?

问题:我正在尝试构建的项目需要大约3-4个小时,并且需要很高的互联网带宽。 我正在尝试检查在其他几台机器中重新使用此项目的可能性。

我曾经与涉及makefile的c ++项目合作过,这很简单。 我是Java / eclipse的新手,需要帮助才能确定这是否真的有可能。

PS:我确实试图找到现有的解决方案; 他们没有向前看,或者他们说这是不可能完成的


一次构建并离线分享

在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>
    

  • 使用目标package assembly:single打包项目package assembly:single ,如下所示
  • 在控制台中,

     mvn package assembly:single
    

    在日食中,

    在这里输入图像描述


  • 运行这个,你可以得到两个JAR文件。 其中一个MyFullPack-0.0.1-SNAPSHOT-jar-with-dependencies.jar 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

    例子:

    <packaging>war</packaging>
    <packaging>ear</packaging>
    <packaging>jar</packaging>
    

    然后运行mvn clean install

    在project / src / target中,你应该看到生成的jar,war或ear,你可以用它们在你的机器或任何其他机器上进行部署。

    要么

    您也可以在运行安装后在.m2文件夹中找到该文件夹​​。

    链接地址: http://www.djcxy.com/p/5031.html

    上一篇: Is it possible to build a java project only once using eclipse and share?

    下一篇: android.os.NetworkOnMainThreadException while posting data to url