配置Java项目以使用Apache Maven构建的初级步骤



我的任务是将一个现有项目(以前是用Ant构建的)迁移到使用Apache Maven。我对整个概念都是全新的,尽管我在过去的几个小时里尽我所能地研究了这个问题。遗憾的是,我在安装m2e和Eclipse IAM之类的东西时遇到了一些代理问题,因此必须从命令提示符完成所有操作。到目前为止,我已经正确安装了maven;现在的诀窍是在我的项目中使用它而不是Ant。我在网上找到了一些教程,但考虑到我缺乏这方面的经验,它们对我来说都太模糊了。如果有人能详细地为我一步一步地分解这些步骤,那就太棒了。另外,我被告知要将以下内容添加到本地Maven设置中:

<settings>
  <servers>
    <server>
        <id>local_tomcat</id>
        <username>admin</username>
        <password>tomcat</password>
    </server>
    <server>
        <id>artifactory</id>
        <username>user</username>
        <password>password</password>
    </server>
  </servers>
  <mirrors>
    <mirror>
      <id>artifactory</id>
      <name>Artifactory</name>
      <url>https://jenkins.web.jw.local/artifactory/repo1</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
  <proxies>
   <proxy>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.jw.local</host>
      <port>80</port>
      <username>user</username>
      <password>password</password>
      <nonProxyHosts>*.jw.local</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

填写了明显的用户名和密码信息。我认为到目前为止,我已经通过简单地将必要的块添加到我的ApacheMavenconf目录下的settings.xml文件中来管理它。除了这一步,我几乎迷路了。同样,任何帮助,特别是在命令行指令方面的详细教程来构建这个项目将是非常好的。哦,顺便说一句,我正在使用Eclipse……我不确定这是否很重要。

EDIT:考虑到peter Kozelka的回答,我尝试为我的项目制作一个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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.company</groupId>
    <artifactId>appName</artifactId>
    <version>1.0.0</version>
    <packaging>war</packaging>
    <name>Application Name</name>
    <description>Yadda Yadda</description>
    <build>
        <plugins>
        </plugins>
    </build>
    <dependencies>
    </dependencies>
    <repositories>
    </repositories>
</project>

这个方向对吗?另外,我是否需要自己构造prototype .xml文件,或者Maven是否会通过命令行来完成?如果我需要自己做,这是我目前想到的:

<archetype xmlns="http://maven.apache.org/plugins/maven-archetype-plugin/archetype/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/plugins/maven-archetype-plugin/archetype/1.0.0 http://maven.apache.org/xsd/archetype-1.0.0.xsd">
    <id>lighthouse</id>
    <sources>
        <source>src/com/jeldwen/lighthouse/controller/AddTimeController.java</source>
        <source>src/com/jeldwen/lighthouse/controller/BugController.java</source>
        <source>src/com/jeldwen/lighthouse/controller/DeleteTimeController.java</source>
        <source>src/com/jeldwen/lighthouse/controller/EnterTimeController.java</source>
        <source>src/com/jeldwen/lighthouse/controller/ModifyTimeController.java</source>
        <source>src/com/jeldwen/lighthouse/controller/PersonController.java</source>
        <source>src/com/jeldwen/lighthouse/controller/ProjectController.java</source>
        <source>src/com/jeldwen/lighthouse/controller/TimeController.java</source>
        <source>src/com/jeldwen/lighthouse/model/Area.java</source>
        <source>src/com/jeldwen/lighthouse/model/Bug.java</source>
        <source>src/com/jeldwen/lighthouse/model/DBModel.java</source>
        <source>src/com/jeldwen/lighthouse/model/DefaultModel.java</source>
        <source>src/com/jeldwen/lighthouse/model/JWModel.java</source>
        <source>src/com/jeldwen/lighthouse/model/JWTime.java</source>
        <source>src/com/jeldwen/lighthouse/model/Person.java</source>
        <source>src/com/jeldwen/lighthouse/model/Project.java</source>
        <source>src/com/jeldwen/lighthouse/util/Lighthouse.java</source>
        <source>src/com/jeldwen/lighthouse/util/LighthouseApplicationListener.java</source>
        <source>src/com/jeldwen/lighthouse/util/LighthouseServlet.java</source>
        <source>src/com/jeldwen/lighthouse/util/LighthouseSystemProperties.java</source>
        <source>src/com/jeldwen/lighthouse/LighthouseApp.java</source>
    </sources>
    <testSources>
        <!-- None -->
    </testSources>
    <allowPartial>true</allowPartial>
</archetype>

首先:如果你想自定义settings.xml,不要触摸maven发行版中的那个,而是在$HOME/.m2/settings.xml中创建一个新文件,maven可以找到并使用它。

作为第一步,我建议您根本不要使用settings.xml。创建一个超级简单的maven项目,并尝试编译它:

mvn clean install

第二步

使用非常简单的settings.xml:

  • 可能不需要代理
  • servers部分仅用于将工件发布到maven存储库;这在一开始并不重要
<?xml version="1.0" encoding="UTF-8"?>
<settings>
  <mirrors>
    <mirror>
      <id>repos</id>
      <mirrorOf>*</mirrorOf>
      <name>internal mirror</name>
      <url>https://jenkins.web.jw.local/artifactory/repo1</url>
    </mirror>
  </mirrors>
  <!-- TODO: the proxy part here -->
</settings>

假设您使用内部maven存储库,例如Nexus或Artifactory。

只有当你的项目对maven中央存储库中的深度不满意时,使用maven repo才有意义——否则,你可以安全地不使用它。(我们暂时忽略repoman的性能影响)

现在,添加一些java源,依赖项等-并观察新的依赖项如何自动下载到本地存储库…

第三步

了解如何将更多的存储库添加到您的存储库管理器(在Nexus上的组"public")…

相关内容

  • 没有找到相关文章

最新更新