我被赋予了迁移现有项目(以前使用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>
填写明显的用户名和密码信息。我想我已经通过简单地将必要的块添加到ApacheMaven \ conf目录下的settings.xml文件中来管理。除了那一步,我几乎迷失了。同样,任何帮助,特别是关于构建此项目的命令行指令的详细教程的帮助都会很棒。哦,另一方面,我正在使用Eclipse ......不确定这是否重要。
编辑:考虑到Petr 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>
这个方向是朝着正确的方向发展吗?另外,我是否需要自己构建archetype.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>
答案 0 :(得分:1)
首先:如果您想自定义settings.xml,请不要触摸maven发行版中的那个 - 而是在$HOME/.m2/settings.xml
中创建一个新文件,maven在其中找到并使用它。
作为第一步,我建议您根本不使用settings.xml。 创建一个supersimple maven项目,并尝试编译它:
mvn clean install
第二步
使用非常简单的settings.xml:
<?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 Central Repository中提供的代码不满意,那么使用maven repo是有意义的 - 否则,您可以安全地离开它。 (我们现在忽略了repoman的性能影响)
现在,添加一些java源代码,依赖项等等 - 并观察新的依赖项如何自动下载到本地存储库......
第三步
了解如何将更多存储库添加到存储库管理器(Nexus上的“public”组)...
其余的可能是进一步研究的主题。