【问题标题】:How do I add a Maven pom.xml to an existing project without using an IDE?如何在不使用 IDE 的情况下将 Maven pom.xml 添加到现有项目?
【发布时间】:2017-07-29 20:51:48
【问题描述】:

我有一个具有单个依赖项的现有 Java 项目。我只想制作一个 pom.xml,以便有人可以拉取项目,mvn installmvn init 或其他任何项目,然后开始工作。在不使用 IDE 的情况下如何做到这一点?

我正在寻找与 pip freezenpm init 等效的内容,或者只是我可以复制并粘贴到新的 pom.xml 文件中的内容。

我尝试了谷歌搜索,但只找到了使用 Maven 或使用 Eclipse 插件启动新项目的东西。

【问题讨论】:

    标签: java maven pom.xml


    【解决方案1】:

    按照建议的三个步骤将您的项目转换为 maven 项目。

    第 1 步: 正如nullpointer 所建议的那样,您的 pom 中必须具备以下属性才能使其成为 maven 项目。

    Sample pom.xml file:

    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                          http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.infy</groupId>
        <artifactId>user-identity-rest</artifactId>
        <version>1.0.0</version>
    </project>
    

    groupId:它是您项目中多个模块组的唯一标识符

    artifactId:您的模块的唯一模块标识符。

    版本:最初我们将从 1.0.0 版本开始,随后将升级到 1.0.1,依此类推。

    您可以根据自己的理解和未来的参考来定制这些东西。

    第 2 步: 现在您需要在声明的 pom.xml 中添加所有库,这与您在项目中添加的 jar 类似。

    您可能在项目中添加了一个库(比如说 json-simple-1.1.1.jar)。这里 maven 不查找整个库,而是询问其依赖关系。

    您可以通过使用exact version 搜索库来找到外部库here 的依赖关系。

    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1.1</version>
    </dependency>
    

    现在您需要从 given site 复制依赖项并将其粘贴到您的 pom.xml 文件中的 &lt;dependencies&gt; 元素中。在这个例子中,完整的 pom.xml 是:

    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                          http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.infy</groupId>
        <artifactId>user-identity-rest</artifactId>
        <version>1.0.0</version>
        <dependencies>
            <dependency>
                 <groupId>com.googlecode.json-simple</groupId>
                 <artifactId>json-simple</artifactId>
                 <version>1.1.1</version>
             </dependency>
        </dependencies>
    </project>
    

    Maven 将自动从其存储库中获取它。

    第 3 步: 第三步也是最后一步是构建您的项目。打开命令提示符/终端并转到声明 pom.xml 的目录并键入 mvn clean install

    这将为您的项目在本地和 voilla 上生成一个可执行文件!您已将项目转换并构建为 maven 项目

    参考路径:C:\PA\IntelliJ Workspace\Springboot Practise\target\spring-boot-examples-1.0-SNAPSHOT.jar

    注意:如果您需要更多说明,请在下方评论。

    【讨论】:

    • 我需要包含本地机器本身的依赖项,如何在 pom 文件中提及它。
    【解决方案2】:

    您似乎正在为您的项目寻找Minimal POM。这被定义为 -

    <project>
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.mycompany.app</groupId>
      <artifactId>my-app</artifactId>
      <version>1</version>
    </project>
    

    您可以将名称替换为更方便的groupartifact。只是一个小笔记需要照顾 -

    ..如果没有指定配置细节,Maven 将使用他们的 默认值。

    【讨论】:

    • 我可以完全避免使用src/main/java 项目结构吗?
    【解决方案3】:

    您可以使用此命令让 Maven 为您自动创建pom.xml 和目录结构:

    $ mvn archetype:generate -DgroupId=com.mkyong -DartifactId=NumberGenerator -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    

    但只需将groupIdartifactId 替换为您自己的值即可。

    然后将您的.java 文件放入/src/main/java/com/mkyong

    然后运行mvn compilemvn cleanmvn package等标准命令。

    Source.

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-24
    • 2015-01-10
    • 2020-03-04
    • 2019-12-25
    • 2012-08-02
    • 2011-09-30
    • 2020-08-17
    • 2021-11-07
    相关资源
    最近更新 更多