2015-11-04 30 views
0

我想將一箇舊項目遷移到maven。我想通過Maven的用classpath中的庫創建war文件intellij

<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" 
     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.project</groupId> 
    <artifactId>project</artifactId> 
    <version>2.5</version> 
    <packaging>war</packaging> 

    <build> 
     <finalName>project</finalName> 

     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>2.3.1</version> 

       <configuration> 
        <source>1.7</source> 
        <target>1.7</target> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

無依賴尚未創建.war文件,只需建立。我將所有庫放入IntelliJ的classpath中,以便在「外部庫」中看到它們。當我使用mvn package時,我有一個空的lib文件夾,因此沒有庫被複制到那裏。 Maven是否有進一步的設置將這些庫放入必要的文件夾WEB-INF/lib

+0

你試過Maven的戰爭插件? – px5x2

回答

3

如果你想的Maven的依賴關係複製到WEB-INF/lib文件夾,你必須告訴Maven的那些依賴關係:Maven是你的IDE工具獨立的(無論是Eclipse或的IntelliJ),所以它將不會查找您在IDE中配置的類路徑。

它的實際工作周圍的其他方法:IDE插件都將與申報Maven的依賴關係互動相應地更新自己的類路徑(Eclipse的,這是M2Eclipse plugin)。

Maven中的依賴關係在POM中聲明,by adding <dependency> tags to the pom.xml。依賴的例子:

<project> 
    ... 
    <dependencies> 
    <dependency> 
     <groupId>group-a</groupId> 
     <artifactId>artifact-a</artifactId> 
     <version>1.0</version> 
    </dependency> 
    </dependencies> 
</project> 
+0

我熟悉maven依賴關係。但並不是所有的庫都在全局關係中,其中一些庫真的很老,因此我需要其中的一些路徑和強制maven來使用它們(在通過依賴關係定義的庫旁邊)。 – Milkmaid

+0

@Milkmaid然後你需要[手動上傳這些工件](https://books.sonatype.com/nexus-book/reference/using-sect-uploading.html)到你的Nexus。 – Tunaki

+0

我這樣解決它。但仍然必須有某種方式。我認爲maven可以簡單地將一些文件從文件夾複製到文件夾。也許就是這樣。 – Milkmaid