maven編譯xml
1. 創建一個maven項目pom.xml頭部報錯,求解決
1.新建一個maven空工程, 2.把代碼拷到maven空工程相應src文件夾內,當然,配置文件放resource文件夾里,jar包神馬的都不要, 3,修改pom,把項目所需jar包都寫到pom的<dependency>里. (沒有<parent>的情況下,如果有parent,代碼和pom都要隨之調整,小復雜,看看maven文檔再改~) 4.把這個整理好的工程,import到eclipse中。 5.mvn package命令行編譯,或eclipse自帶maven編譯打包都行,反正已經能用了~
2. maven編譯時出錯了
在對應的類里找 repaint()這個方法是在什麼包里.
缺少包啊,需要在pom.xml里添加相應包的<dependency>引用起來就好了.
3. 怎麼編譯運行從github上下載下來的maven項目源碼(我想調試運行的是sonarqube的源碼)跪求大神orz
maven 編譯命令
從別處拷貝來的maven項目,有時候會出現不能debug關聯的情況,即按住ctrl鍵後不能跳轉到相應的類或方法,這是需要eclipse環境生成 Eclipse 項目文件的。
可以在cmd命令窗口下進入到maven項目包含pom.xml文件的目錄下,運行 mvn eclipse:eclipse 命令即可,如果還不行,可使用mvn compile :編譯源代碼 命令。
--------------------------------------------------------------------------------------------------------------------------------
下面是一些maven的常用命令:
Maven2 的運行命令為 : mvn ,
常用命令為 :
mvn archetype:create :創建 Maven 項目
mvn compile :編譯源代碼
mvn test-compile :編譯測試代碼
mvn test : 運行應用程序中的單元測試
mvn site : 生成項目相關信息的網站
mvn clean :清除目標目錄中的生成結果
mvn package : 依據項目生成 jar 文件
mvn install :在本地 Repository 中安裝 jar
mvn eclipse:eclipse :生成 Eclipse 項目文件
生成項目
建一個 java 項目 : mvn archetype:create -DgroupId=com.demo -DartifactId=App
建一個 web 項目 : mvn archetype:create -DgroupId=com.demo -DartifactId=web-app -DarchetypeArtifactId=maven-archetype-webapp
生成 Eclipse 項目
普通 Eclipse 項目執行 : mvn eclipse:eclipse
Eclipse WTP 項目執行 : mvn eclipse:eclipse –Dwtpversion=1.0
更詳細的,自己網路搜索 maven 編譯,學習一下吧
4. maven為什麼會有時候不編譯xml
解決方法:
在pom.xml中添加如下代碼:
<build>
...
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
...
</build>
5. 如何在eclipse中用maven編譯
在eclipse中用maven編譯的方法:
在項目中的「pom.xml」文件上點擊右鍵,在彈出的菜單中選擇「Run AS」à「Maveninstall」來編譯和生成項目。如下圖所示:
在編譯和生成過程中,可以在「Console」面板中可以看到Maven編譯過程的信息,如果編譯和生成成功,可以在「Console」面板看到「BUILD SUCCESS」字樣。
另外,在修改pom.xml文件中的相關jar包信息時,可能由於倉庫中不存在,就會出現一些錯誤,這時,項目編譯就可能存在一些問題。此時可通過「Maven clean」選項來清除編譯,然後再修改pom.xml到正確情況。再通過「Maven install」來編譯和生成。
6. 剛創建的maven項目,pom.xml的第一行就報錯
解決方法:
首先確定你的電腦是否可以連接網路。
如果可以連接網路,在maven的本地庫的路徑下執行以下命令:
for/r%iin(*.lastUpdated)dodel%i
最後,嘗試刷新maven工程,看是否可以成功。
(6)maven編譯xml擴展閱讀:
Maven項目對象模型(POM),可以通過一小段描述信息來管理項目的構建,報告和文檔的軟體項目管理工具。
Maven 除了以程序構建能力為特色之外,還提供高級項目管理工具。由於 Maven 的預設構建規則有較高的可重用性,所以常常用兩三行 Maven 構建腳本就可以構建簡單的項目。由於 Maven 的面向項目的方法,許多 Apache Jakarta 項目發文時使用 Maven,而且公司項目採用 Maven 的比例在持續增長。
Maven這個單詞來自於意第緒語(猶太語),意為知識的積累,最初在Jakata Turbine項目中用來簡化構建過程。當時有一些項目(有各自Ant build文件),僅有細微的差別,而JAR文件都由CVS來維護。於是希望有一種標准化的方式構建項目,一個清晰的方式定義項目的組成,一個容易的方式發布項目的信息,以及一種簡單的方式在多個項目中共享JARs。
常用命令:
1.mvn archetype:generate 創建Maven
2.項目mvn compile 編譯源代碼
3.mvn deploy 發布項目
4.mvn test-compile 編譯測試源代碼
5.mvn test 運行應用程序中的單元測試
6.mvn site 生成項目相關信息的網站
7.mvn clean 清除項目目錄中的生成結果
8.mvn package 根據項目生成的jar
9.mvn install 在本地Repository中安裝jar
10.mvn eclipse:eclipse 生成eclipse項目文件
11.mvnjetty:run 啟動jetty服務
12.mvntomcat:run 啟動tomcat服務
參考資料:網路:Maven
7. 用maven編譯項目時出現如下問題
在/etc/profile配置java的環境變數: 你的mvn 項目是用哪個版本的jdk.,就要配置那個版本的jdk。
強制保存文件命令:w !sudo tee %
此時在進入項目執行:$ git pull origin master
繼續mvn clean install
8. 如何在maven pom.xml文件中設置Java編譯器版本
1,生成3個目錄/lib,/conf,/bin目錄
2,把所有的jar目錄編譯、拷貝到/lib目錄(包括maven的jar包和lib目錄下的jar,以及編譯的jar包)
3,把所有的啟動腳本從工程根目錄拷貝到/bin目錄
4,把所有的配置文件從src/main/resources拷貝到/conf
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>test</groupId>
<artifactId>test.common</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>test.common</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- 這里省略n行 -->
</dependencies>
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<resources>
<!-- 把src/main/resources目錄下所有的文件拷貝到conf目錄中 -->
<resource>
<directory>src/main/resources</directory>
<targetPath>${project.build.directory}/conf</targetPath>
</resource>
<!-- 把lib目錄下所有的文件拷貝到lib目錄中
(可能有些jar包沒有辦法在maven中找到,需要放在lib目錄中) -->
<resource>
<directory>lib</directory>
<targetPath>${project.build.directory}/lib</targetPath>
</resource>
<!-- 把放在根目錄下的腳本文件.sh,.bat拷貝到bin目錄中 -->
<resource>
<directory>.</directory>
<includes>
<include>**/*.sh</include>
<include>**/*.bat</include>
</includes>
<targetPath>${project.build.directory}/bin</targetPath>
</resource>
</resources>
<plugins>
<!-- 用於編譯的plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<fork>true</fork>
<defaultLibBundleDir>lib</defaultLibBundleDir>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
<!-- 如果配置了JAVA_HOME,下面應該可以不用配 -->
<executable>C:\Program Files (x86)\Java\jdk1.8.0_91\bin\javac.exe</executable>
</configuration>
</plugin>
<!-- 用於生成jar包的plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<configuration>
<!-- 把生成的jar包放在lib目錄下(和其他所有jar包一起) -->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
</manifest>
</archive>
<excludes>
<!-- 排除掉一些文件,不要放到jar包中,
這里是為了排除掉src/main/resources中的文件(它們應該放到conf目錄)
這里只能指定要排除的目標文件,而不能指定源文件,雖然不夠完美,但是基本能達到目的。 -->
<exclude>*.xml</exclude>
<exclude>*.properties</exclude>
</excludes>
</configuration>
</plugin>
<!-- 用於拷貝maven依賴的plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>-dependencies</id>
<phase>package</phase>
<goals>
<goal>-dependencies</goal>
</goals>
<configuration>
<!-- 把依賴的所有maven jar包拷貝到lib目錄中(這樣所有的jar包都在lib目錄中) -->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<!-- 用於拷貝resource的plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.7</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- 配置生成源代碼jar的plugin -->
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.4</version>
<configuration>
<attach>true</attach>
<encoding>UTF-8</encoding>
<!-- 配置源代碼jar文件的存放路徑,和其他jar文件一起放在lib目錄 -->
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
然後執行maven package打包。如果是eclipse,在Project Explorer-> Run As –> Maven Build… –>在Goals中輸入package,點Run進行編譯。
9. 怎樣解決maven里編譯時包的依賴有關問題
一、導出到默認目錄 targed/dependency
從Maven項目中導出項目依賴的jar包:進入工程pom.xml 所在的目錄下,執行如下命令:
mvn dependency:-dependencies
或在eclipse中,選擇項目的pom.xml文件,點擊右鍵菜單中的Run As,見下圖紅框中,在彈出的Configuration窗口中,輸入 dependency:-dependencies後,點擊運行
maven項目所依賴的jar包會導出到targed/dependency目錄中。
二、導出到自定義目錄中
在maven項目下創建lib文件夾,輸入以下命令:
mvn dependency:-dependencies -DoutputDirectory=lib
maven項目所依賴的jar包都會復制到項目目錄下的lib目錄下
三、設置依賴級別
同時可以設置依賴級別,通常使用compile級別
mvn dependency:-dependencies -DoutputDirectory=lib -DincludeScope=compile
10. maven編譯時 修改了pom.xml中jar包版本號,但是依舊會下載老版本jar包,為什麼
可能和ide有關系
調查方法:
用命令行 maven clean update 試試
如果是idea,pom-右鍵-重新載入