- 浏览: 126990 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (111)
- 资料总结参阅 (2)
- To Study List (2)
- notepaper (2)
- linux学习 (32)
- linux学习-included (3)
- 开源框架-Hibernate (2)
- 开源框架-Ibatis (1)
- JEE整理 (25)
- JEE Server参考 (5)
- 开源框架-Spring (1)
- 硬件知识 (5)
- 开发环境搭建及管理 (7)
- linux软件工具 (2)
- 数据库 (8)
- 各类文档参考 (1)
- 开源框架-Netty (1)
- 性能调优 (1)
- DP相关 (1)
- 软件知识 (3)
- 脚本语言-python (2)
- 脚本语言-perl (1)
- 分布式 (2)
最新评论
-
zhuxinhua:
谢谢,,这东西真不容易找啊。。
JBoss配置---收集中...
refer: http://www.jdonee.com/category/%E6%8A%80%E6%9C%AF%E4%B8%93%E6%A0%8F
/maven/maven%E9%97%AE%E7%AD%94%E6%94%B6%E9%9B%86/
Maven常见问题解答(三)
2010 年 11 月 06 日, 上午 12:44
1、为什么我在私服中存在的某个版本的依赖,而Eclipse项目中引用该依赖不成功,报”miss ***.jar”错误?
在当前工程目录下运行”mvn eclipse:eclipse”,然后在Eclipse下刷新该工程。
2、引用某个过时的Java API导致Maven出现ERROR警告导致编译失败,该怎么处理?
1)升级Java compiler插件的版本至2.3.2及以后。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
</plugin>
2)当然是修改你的API方法。
3、如何导出当前项目依赖的源码jar?
在当前项目下运行:
mvn dependency:copy-dependencies -Dclassifier=sources
默认会在${project.build.directory}/dependency里(一般是target目录下)。如果你要改变它的地址,就添加outputDirectory参数。比如要存放在d:dependency目录下,命令如下:
mvn dependency:copy-dependencies -Dclassifier=sources -DoutputDirectory=d:dependency
注:很有可能有些jar包没有提供源代码,导致你构建失败。那么你这种情况你可以通过excludeArtifactIds参数排除这些jar,多个jar直接用”,”分隔,命令如下:
mvn dependency:copy-dependencies -Dclassifier=sources -DexcludeArtifactIds=bcprov-jdk15,junit,……
关于dependency更多使用方式,请参阅Maven Dependency Plugin。
4、如何下载当前项目依赖的源码jar?
1)在当前项目下运行:
mvn dependency:sources
默认会安装在本地仓库。
2)如果你是在Eclipse环境下使用,通过“preferences”进入,点击“Maven”,勾选“Download Artifact Sources”。重启eclipse,构建工程时,就会下载依赖的源码jar。
原创文章,转载请注明: 转载自爱飞年代
本文链接地址: Maven常见问题解答(三)
文章的脚注信息由WordPress的wp-posturl插件自动生成
Popularity: 70% [?]
Category: Maven, Maven问答收集, 技术专栏 | 评论
Maven常见问题解答(二)
2010 年 11 月 05 日, 下午 8:33
1、POM的资源可继承吗?
当然可以,但只有在子POM没有任何资源的情况下。如果有,子POM只会应用当前的资源,并会覆盖父POM传递下来的相同资源。
2、Maven的继承顺序是怎样的?
1)parent pom
2)project pom
3)settings
4)命令行参数
其中后面的会覆盖前面的。
3、我在哪里可以获得Maven的Eclipse插件?
http://maven.apache.org/eclipse-plugin.html
这里还提供了一些关于如何使用该插件的Flash演示。
4、我该如何使用1.4.x的或1.5.x的JDK编译1.3的Java源代码?
您需要指定<compilerVersion>元素为1.3。
<project>
…
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable><!– path-to-javac –></executable>
<compilerVersion>1.3</compilerVersion>
</configuration>
</plugin>
</plugins>
</build>
…
</project>
5、如何在我的pom文件中引用windows 或者unix 环境变量?
从Maven 2.0.1开始,你可以在你的pom.xml或者settings.xml文件使用如下表达式引用windows 和unix 环境变量。
${env.VARNAME}
所以,你想要引用你的主目录环境变量,可以使用:
${env.HOME}
6、如何使子项目不继承父项目的目标(如install)?
使用inherited 属性,设置插件的配置为false。举例来说,如果你想安装父项目,而不想安装子项目。你可以在当前项目的install插件中进行如下配置:
<plugin>
<artifactId>maven-install-plugin</artifactId>
<configuration>
<inherited>false</inherited>
</configuration>
</plugin>
7、如何指定当前WAR模块继承父项目组WAR模块下的公共文件?
从maven-war-plugin 2.0-beta-3及以后的版块开始支持合并war。你只要在你的war模块中添加另一个类型为WAR的依赖,它们就会自动完成合并。
如果你想要获得更具体的操作,请查阅使用Maven WAR插件实现多Web应用间的重迭运用。
8、怎么在Maven2里配置相当于war插件的maven.war.src的目录结构?
<build>
…
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceDirectory><!– 目录地址–></warSourceDirectory>
</configuration>
</plugin>
</plugins>
…
</build>
查看war插件的可配置属性可获得更多信息。
9、如何指定Eclipse插件生成的输出目录放入到.classpath文件里?
<build>
...
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<outputDirectory>target-eclipse</outputDirectory>
</configuration>
</plugin>
</plugins>
</pluginManagement>
...
</build>
10、如何为一个可执行jar添加主运行类?
配置maven-jar-plugin,然后添加主类:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.mycompany.app.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
11、我能禁止使用传递依赖吗?
很抱歉,不能,不过你可以在项目里排除相关的依赖。
下面是一个关于排除依赖的示例:
<project>
…
<dependency>
<groupId><!– group id –></groupId>
<artifactId><!– artifact id –></artifactId>
<version><!– version –></version>
<scope><!– scope –></scope>
<exclusions>
<exclusion><!–排除的依赖都写着这里–>
<groupId><!– groupId –></groupId>
<artifactId><!– artifactId–></artifactId>
</exclusion>
</exclusions>
</dependency>
</project>
12、Maven中有没有方法在每次构建时不通过编辑pom或者配置文件就能够指定不同的输出目录吗?
当然有,你可以通过配置<properties>来完成这项工作。
要做到这一点,你只需在pom文件添加以下片段:
<project>
...
<build>
<directory>${directory}</directory>
<outputDirectory>${directory}/classes</outputDirectory>
<testOutputDirectory>${directory}/test-classes</testOutputDirectory>
</build>
<properties>
<directory>target</directory> <!-- 设置默认 -->
</properties>
...
</project>
现在你可以在命令行使用directory属性作为一个命令行参数来为它在运行时指定一个输出目录:
mvn -Ddirectory=tmp package
这样,${basedir}/tmp文件夹将作为新的输出目录。
13、我web项目中的自定义目录布局中有了一个web.xm文件,但是为什么我还是获得“Deployment descriptor <Path>WEB-INFweb.xml does not exist”错误呢?
你可以通过maven-war-plugin在你的Web应用中指定你web.xml文件的路径。
<build>
…
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml><!– web.xml的路径 –></webXml>
</configuration>
</plugin>
</plugins>
</build>
14、我该如何在打包的Jar中过滤某些文件呢?
所有编译过的class文件总会放入打包的jar中。但是,你能配置通过使用compiler 插件的excludes 参数排除一些无须打包的文件。
<project>
…
<build>
…
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/NotNeeded*.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
…
</build>
</project>
15、如何在deploy阶段期间部署我的二进制文件?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>assembly</goal>
</goals>
<configuration>
<!– 这里输入你的配置 –>
</configuration>
</execution>
</executions>
</plugin>
然后执行”mvn deploy” 。
16、如何在surefire插件增加一个配置来阻止测试过程运行多次?
可以在插件的executions元素外声明如下配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.0</version>
<configuration>
<systemProperties>
<property>
<name>net.sourceforge.cobertura.datafile</name>
<value>C:cobertura.ser</value>
</property>
</systemProperties>
</configuration>
</plugin>
17、如何使用不同的配置文件来执行assembly插件?
你可以在pom.xml文件里增加如下配置:
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>1</id>
<phase>install</phase>
<goals>
<goal>assembly</goal>
</goals>
<configuration>
<descriptor>src/main/descriptors/bin.xml</descriptor>
<finalName>${project.build.finalName}-bin</finalName>
</configuration>
</execution>
<execution>
<id>2</id>
<phase>install</phase>
<goals>
<goal>assembly</goal>
</goals>
<configuration>
<descriptor>src/main/descriptors/src.xml</descriptor>
<finalName>${project.build.finalName}-src</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
...
</build>
然后执行mvn install,它将通过不同的配置执行assembly插件两次。
18、如何使用antrun插件生成源代码?
下面是你要在该插件的选项中生成源代码的步骤。注意:很有可能只有最新的SVN插件版本才支持。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<dependencies>
<!– 你脚本执行必须的依赖 –>
</dependencies>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<tasks>
<!– 这里嵌入你的ant任务,也可以委托给一个build.xml–>
<path id=”classpath”>
<path refid=”maven.compile.classpath”/>
<path refid=”maven.plugin.classpath”/>
</path>
<ant antfile=”${basedir}/build.xml” dir=”${basedir}” inheritRefs=”true”>
<target name=”generate-sources”/>
</ant>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
19、如何在Maven中针对多个阶段,执行ant 任务多次?
executions标签可以指定多个execution元素,ant的执行目标中可以针对不同的Maven阶段绑定不同的ID。
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>one</id>
<phase>generate-sources</phase>
<configuration>
<tasks>
<echo message=” start generate-sources!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!”/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>two</id>
<phase>package</phase>
<configuration>
<tasks>
<echo message=” start packaging!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!”/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
20、为什么我没有在我的项目站点里获得生成的index.html页面?
这个原因通常是配置maven-project-info-reports plugin时忽略了”index”报告。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<report>index</report> <!–这里–>
<report>dependencies</report>
<report>cim</report>
<report>scm-list</report>
<report>issue-tracking</report>
</reports>
</reportSet>
</reportSets>
</plugin>
21、如何把静态的X(HTML)文件整合到我生成的站点里?
通过如下步骤你就能达到目的:
1)把你的静态页面放入到资源目录下,${basedir}/src/site/resources。
2)创建你的site.xml,并放入到${basedir}/src/site。xml示例:
<project name="Maven War Plugin">
<bannerLeft>
<name>Maven War Plugin</name>
<src>http://maven.apache.org/images/apache-maven-project.png</src>
<href>http://maven.apache.org/</href>
</bannerLeft>
<bannerRight>
<src>http://maven.apache.org/images/maven-small.gif</src>
</bannerRight>
<body>
<links>
<item name="Maven 2" xhref="http://maven.apache.org/maven2/"/>
</links>
<menu name="Overview">
<item name="Introduction" xhref="introduction.html"/>
<item name="How to Use" xhref="howto.html"/>
</menu>
${reports}
</body>
</project>
3)修改”menu”来链接静态页面,然后通过静态页的名称来创建选项和站点地图。
<menu name="Overview">
<item name="Introduction" xhref="introduction.html"/>
<item name="How to Use" xhref="howto.html"/>
<item name="<put-name-here>" xhref="<filename-of-the-static-page>"/>
</menu>
22、怎样从一个mojo里获取一个插件的依赖?
public class MyMojo extends AbstractMojo
{
/**
* @parameter expression="${plugin.artifacts}"
* @required
*/
private List pluginArtifacts;
public void execute()
throws MojoExecutionException
{
...
for ( Iterator i = pluginArtifacts.iterator(); i.hasNext(); )
{
Artifact pluginArtifact = (Artifact) i.next();
}
...
}
}
23、怎样从一个Mojo里获取项目的来源?
public class MyMojo extends AbstractMojo
{
/**
* @parameter expression="${project.compileSourceRoots}"
* @required
*/
private List sourceRoots;
public void execute() throws MojoExecutionException
{
...
for ( Iterator i = sourceRoots.iterator(); i.hasNext(); )
{
String sourceRoot = (String) i.next();
// Do what you want with these directories
}
}
}
24、如何在我的mojo里创建一个命令行参数(如-Dname=value )?
你可以在你的mojo里的参数字段中输入”expression=${<exp>}” 。
/**
* @parameter expression="${expression.name}"
*/
private String exp;
你现在就可以在命令行里运行参数:
“mvn -Dexpression.name=value install”
原创文章,转载请注明: 转载自爱飞年代
本文链接地址: Maven常见问题解答(二)
文章的脚注信息由WordPress的wp-posturl插件自动生成
Popularity: 100% [?]
Category: Maven, Maven问答收集, 技术专栏 | 1 条评论
Maven常见问题解答(一)
2010 年 11 月 05 日, 下午 8:06
1、如何阻止编译时出现”[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!”这样的警告?
出现类似这样的情况很多,这是因为如果你没有为编译的文件指定编码格式的话,它一般就会引用系统本身的编码,解决的办法也很简单,你只要在pom.xml(或者父项目的pom.xml)下的设置如下属性:
通用设置:
<project>
…
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
…
</project>
M3设置:
<project>
…
<properties>
<sourceEncoding>UTF-8</sourceEncoding>
</properties>
…
</project>
2、如何阻止把某些JAR包添加到WEB-INF/lib文件夹下?因为我只是想在编译时使用它!
把依赖的范围级别定义为provided,这样可以避免运行时依赖冲突。
3、如何确定我使用的是哪个版本的插件?
你可以使用Maven Help 插件的describe目标。比如你要查看install插件的当前版本:
mvn -Dplugin=install help:describe
如果想要更详细的信息,增加-Ddetail。
mvn -Dplugin=install help:describe -Ddetail
注意:这里的参数是插件的目标前缀,而不是构件的ID。比如 Maven Install Plugin的构件ID是:maven-install-plugin,而前缀是install。
4、我如何在一次Maven构建中使用ant任务?
目前有两个选择。
1)按照 instructions given in the Ant documentation自己实现。
2)如果你只需要在你的Maven构建里使用少量的ant脚本,那么你可以使用AntRun插件。
5、那么我如何在一次Ant构建中使用Maven的特性呢?
Maven Ant Tasks可以让Ant构建使用Maven的很多特性,诸如依赖管理、仓库部署等等。
6、我如何在Maven编译代码时自定义JVM的源代码和输出格式呢?
你必须在pom.xml文件里设置source和target参数。比如你要设置JVM的源代码和输出格式为1.5,那么在pom文件里可以如下设置:
…
<build>
…
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
…
</build>
…
7、我是否可以在Maven中创建自己的目录结构呢?
当然可以。通过配置<sourceDirectory>,<resources>和<build>部分的其它元素。此外,如果你不使用默认的文件/目录格式的话,你还必须修改相关插件的配置。
坦白讲,这是一件得不偿失的事情。
8、我如何查找Maven的源代码呢?
源代码可以通过Maven版本库找到。
如果要查阅更多信息,请点击Building Maven 2.0。
9、为何我不能正确下载Maven的依赖?
你很有可能是因为公司网络的原因限制下载,不过你可以为Maven配置一个代理。具体的操作可以参阅配置代理。
10、我想把一个Jar存放到我的本地仓库,该怎么做?
如果你了解Maven的仓库布局,它会直接复制jar过去,Maven会在下一次运行时自动发现。
如果你不了解Maven的仓库布局,你可以在命令行中使用如下的命令加载Jar文件(此命令为一行,切莫回车)。
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging> -DgeneratePom=true
其中: <path-to-file> 需加载的文件路径
<group-id> 该文件的组ID
<artifact-id> 该文件的构件ID
<version> 该文件的版本
<packaging> 该 文件的打包格式,如jar
11、如何跳过测试?
你可以在命令行增加-Dmaven.test.skip=true或-DskipTests=true参数,前者会跳过测试的编译和执行,后者仅仅跳过测试的执行。更多示例请查阅Surefire插件的跳过测试部分。
12、如何在Maven中运行一个单元测试?
在命令行增加-Dtest=MyTest参数。注:不能指定包名,如(org.apache.x.y.MyTest)
13、如何处理站点的特殊字符?
首先配置你的IDE使用正确的编码。如果使用Eclipse,在eclipse.ini中增加 -Dfile.encoding=ISO-8859-1。
在你的pom文件中配置你的输出编码:
…
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>2.0-beta-6</version>
<configuration>
<outputEncoding>UTF-8</outputEncoding>
</configuration>
</plugin>
…
然后在MAVEN_OPTS中增加跟IDE一样的编码格式,如MAVEN_OPTS=”-Dfile.encoding=ISO-8859-1″。本人不推荐直接修改Maven的BIN目录下的mvn文件,而是添加一个环境变量MAVEN_OPTS。
14、如何在我的依赖中添加tools.jar?
下面的代码可以把tools.jar包含在Windows, Linux 和 Solaris系统的JDKs中(Mac OS X和其它免费的JDKs中已经包含了)。
…
<profiles>
<profile>
<id>default-tools.jar</id>
<activation>
<property>
<name>java.vendor</name>
<value>Sun Microsystems Inc.</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.4.2</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
</profiles>
…
15、Maven编译了我的测试类,但是为什么不运行呢?
测试一般都是由Surefire插件运行的。Surefire插件用来配置运行某些测试类,你很有可能无意中指定了${test}这样的值。检查你的settings.xml和pom.xml文件,看有没有命名为”test”的属性,如下列方式:
…
<properties>
<property>
<name>test</name>
<value>some-value</value>
</property>
</properties>
…
或者
…
<properties>
<test>some-value</test>
</properties>
…
16、Maven的SNAPSHOT(快照)构件存放在哪里?
如果你想要使用Maven或者插件的快照来进行构建,那么你应该要访问Maven快照仓库。
你可能需要通过快照仓库使用指南更新你的settings文件。
17、Maven 的XSD schemas存放在哪里?
Maven XSD 存放在这里,Maven Settings XSD 存放在这里。
你的IDE很有可能支持pom.xml和settings.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“>
…
</project>
<settings xmlns=”http://maven.apache.org/SETTINGS/1.0.0″
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd“>
…
</settings>
18、如果Maven不能正常工作,我该如何获取帮助?
Maven官方编制了一个可用帮助列表。
19、如何在Maven构建时产生调试或者错误信息呢?
你可以在Maven构建是调用-X(必须大写)或者-e参数。如果你要了解更多信息,在命令行执行:mvn –help
20、Mojo是什么?
Mojo是Maven中一个普通的持久化对象。每一个Mojo都是Maven中的一个执行目标,一个插件一般包含一个或者多个相关的Mojo。
21、怎样在公共Maven仓库中寻找依赖?
你可以使用下列搜索引擎:
http://repository.apache.org
http://www.artifact-repository.org
http://mvnrepository.com
http://www.mvnbrowser.com
http://www.jarvana.com
http://mavensearch.net
/maven/maven%E9%97%AE%E7%AD%94%E6%94%B6%E9%9B%86/
Maven常见问题解答(三)
2010 年 11 月 06 日, 上午 12:44
1、为什么我在私服中存在的某个版本的依赖,而Eclipse项目中引用该依赖不成功,报”miss ***.jar”错误?
在当前工程目录下运行”mvn eclipse:eclipse”,然后在Eclipse下刷新该工程。
2、引用某个过时的Java API导致Maven出现ERROR警告导致编译失败,该怎么处理?
1)升级Java compiler插件的版本至2.3.2及以后。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
</plugin>
2)当然是修改你的API方法。
3、如何导出当前项目依赖的源码jar?
在当前项目下运行:
mvn dependency:copy-dependencies -Dclassifier=sources
默认会在${project.build.directory}/dependency里(一般是target目录下)。如果你要改变它的地址,就添加outputDirectory参数。比如要存放在d:dependency目录下,命令如下:
mvn dependency:copy-dependencies -Dclassifier=sources -DoutputDirectory=d:dependency
注:很有可能有些jar包没有提供源代码,导致你构建失败。那么你这种情况你可以通过excludeArtifactIds参数排除这些jar,多个jar直接用”,”分隔,命令如下:
mvn dependency:copy-dependencies -Dclassifier=sources -DexcludeArtifactIds=bcprov-jdk15,junit,……
关于dependency更多使用方式,请参阅Maven Dependency Plugin。
4、如何下载当前项目依赖的源码jar?
1)在当前项目下运行:
mvn dependency:sources
默认会安装在本地仓库。
2)如果你是在Eclipse环境下使用,通过“preferences”进入,点击“Maven”,勾选“Download Artifact Sources”。重启eclipse,构建工程时,就会下载依赖的源码jar。
原创文章,转载请注明: 转载自爱飞年代
本文链接地址: Maven常见问题解答(三)
文章的脚注信息由WordPress的wp-posturl插件自动生成
Popularity: 70% [?]
Category: Maven, Maven问答收集, 技术专栏 | 评论
Maven常见问题解答(二)
2010 年 11 月 05 日, 下午 8:33
1、POM的资源可继承吗?
当然可以,但只有在子POM没有任何资源的情况下。如果有,子POM只会应用当前的资源,并会覆盖父POM传递下来的相同资源。
2、Maven的继承顺序是怎样的?
1)parent pom
2)project pom
3)settings
4)命令行参数
其中后面的会覆盖前面的。
3、我在哪里可以获得Maven的Eclipse插件?
http://maven.apache.org/eclipse-plugin.html
这里还提供了一些关于如何使用该插件的Flash演示。
4、我该如何使用1.4.x的或1.5.x的JDK编译1.3的Java源代码?
您需要指定<compilerVersion>元素为1.3。
<project>
…
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<executable><!– path-to-javac –></executable>
<compilerVersion>1.3</compilerVersion>
</configuration>
</plugin>
</plugins>
</build>
…
</project>
5、如何在我的pom文件中引用windows 或者unix 环境变量?
从Maven 2.0.1开始,你可以在你的pom.xml或者settings.xml文件使用如下表达式引用windows 和unix 环境变量。
${env.VARNAME}
所以,你想要引用你的主目录环境变量,可以使用:
${env.HOME}
6、如何使子项目不继承父项目的目标(如install)?
使用inherited 属性,设置插件的配置为false。举例来说,如果你想安装父项目,而不想安装子项目。你可以在当前项目的install插件中进行如下配置:
<plugin>
<artifactId>maven-install-plugin</artifactId>
<configuration>
<inherited>false</inherited>
</configuration>
</plugin>
7、如何指定当前WAR模块继承父项目组WAR模块下的公共文件?
从maven-war-plugin 2.0-beta-3及以后的版块开始支持合并war。你只要在你的war模块中添加另一个类型为WAR的依赖,它们就会自动完成合并。
如果你想要获得更具体的操作,请查阅使用Maven WAR插件实现多Web应用间的重迭运用。
8、怎么在Maven2里配置相当于war插件的maven.war.src的目录结构?
<build>
…
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warSourceDirectory><!– 目录地址–></warSourceDirectory>
</configuration>
</plugin>
</plugins>
…
</build>
查看war插件的可配置属性可获得更多信息。
9、如何指定Eclipse插件生成的输出目录放入到.classpath文件里?
<build>
...
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<configuration>
<outputDirectory>target-eclipse</outputDirectory>
</configuration>
</plugin>
</plugins>
</pluginManagement>
...
</build>
10、如何为一个可执行jar添加主运行类?
配置maven-jar-plugin,然后添加主类:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>com.mycompany.app.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
11、我能禁止使用传递依赖吗?
很抱歉,不能,不过你可以在项目里排除相关的依赖。
下面是一个关于排除依赖的示例:
<project>
…
<dependency>
<groupId><!– group id –></groupId>
<artifactId><!– artifact id –></artifactId>
<version><!– version –></version>
<scope><!– scope –></scope>
<exclusions>
<exclusion><!–排除的依赖都写着这里–>
<groupId><!– groupId –></groupId>
<artifactId><!– artifactId–></artifactId>
</exclusion>
</exclusions>
</dependency>
</project>
12、Maven中有没有方法在每次构建时不通过编辑pom或者配置文件就能够指定不同的输出目录吗?
当然有,你可以通过配置<properties>来完成这项工作。
要做到这一点,你只需在pom文件添加以下片段:
<project>
...
<build>
<directory>${directory}</directory>
<outputDirectory>${directory}/classes</outputDirectory>
<testOutputDirectory>${directory}/test-classes</testOutputDirectory>
</build>
<properties>
<directory>target</directory> <!-- 设置默认 -->
</properties>
...
</project>
现在你可以在命令行使用directory属性作为一个命令行参数来为它在运行时指定一个输出目录:
mvn -Ddirectory=tmp package
这样,${basedir}/tmp文件夹将作为新的输出目录。
13、我web项目中的自定义目录布局中有了一个web.xm文件,但是为什么我还是获得“Deployment descriptor <Path>WEB-INFweb.xml does not exist”错误呢?
你可以通过maven-war-plugin在你的Web应用中指定你web.xml文件的路径。
<build>
…
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webXml><!– web.xml的路径 –></webXml>
</configuration>
</plugin>
</plugins>
</build>
14、我该如何在打包的Jar中过滤某些文件呢?
所有编译过的class文件总会放入打包的jar中。但是,你能配置通过使用compiler 插件的excludes 参数排除一些无须打包的文件。
<project>
…
<build>
…
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<excludes>
<exclude>**/NotNeeded*.java</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
…
</build>
</project>
15、如何在deploy阶段期间部署我的二进制文件?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>assembly</goal>
</goals>
<configuration>
<!– 这里输入你的配置 –>
</configuration>
</execution>
</executions>
</plugin>
然后执行”mvn deploy” 。
16、如何在surefire插件增加一个配置来阻止测试过程运行多次?
可以在插件的executions元素外声明如下配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.0</version>
<configuration>
<systemProperties>
<property>
<name>net.sourceforge.cobertura.datafile</name>
<value>C:cobertura.ser</value>
</property>
</systemProperties>
</configuration>
</plugin>
17、如何使用不同的配置文件来执行assembly插件?
你可以在pom.xml文件里增加如下配置:
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>1</id>
<phase>install</phase>
<goals>
<goal>assembly</goal>
</goals>
<configuration>
<descriptor>src/main/descriptors/bin.xml</descriptor>
<finalName>${project.build.finalName}-bin</finalName>
</configuration>
</execution>
<execution>
<id>2</id>
<phase>install</phase>
<goals>
<goal>assembly</goal>
</goals>
<configuration>
<descriptor>src/main/descriptors/src.xml</descriptor>
<finalName>${project.build.finalName}-src</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
...
</build>
然后执行mvn install,它将通过不同的配置执行assembly插件两次。
18、如何使用antrun插件生成源代码?
下面是你要在该插件的选项中生成源代码的步骤。注意:很有可能只有最新的SVN插件版本才支持。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<dependencies>
<!– 你脚本执行必须的依赖 –>
</dependencies>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<tasks>
<!– 这里嵌入你的ant任务,也可以委托给一个build.xml–>
<path id=”classpath”>
<path refid=”maven.compile.classpath”/>
<path refid=”maven.plugin.classpath”/>
</path>
<ant antfile=”${basedir}/build.xml” dir=”${basedir}” inheritRefs=”true”>
<target name=”generate-sources”/>
</ant>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
19、如何在Maven中针对多个阶段,执行ant 任务多次?
executions标签可以指定多个execution元素,ant的执行目标中可以针对不同的Maven阶段绑定不同的ID。
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>one</id>
<phase>generate-sources</phase>
<configuration>
<tasks>
<echo message=” start generate-sources!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!”/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>two</id>
<phase>package</phase>
<configuration>
<tasks>
<echo message=” start packaging!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!”/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
20、为什么我没有在我的项目站点里获得生成的index.html页面?
这个原因通常是配置maven-project-info-reports plugin时忽略了”index”报告。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<reportSets>
<reportSet>
<reports>
<report>index</report> <!–这里–>
<report>dependencies</report>
<report>cim</report>
<report>scm-list</report>
<report>issue-tracking</report>
</reports>
</reportSet>
</reportSets>
</plugin>
21、如何把静态的X(HTML)文件整合到我生成的站点里?
通过如下步骤你就能达到目的:
1)把你的静态页面放入到资源目录下,${basedir}/src/site/resources。
2)创建你的site.xml,并放入到${basedir}/src/site。xml示例:
<project name="Maven War Plugin">
<bannerLeft>
<name>Maven War Plugin</name>
<src>http://maven.apache.org/images/apache-maven-project.png</src>
<href>http://maven.apache.org/</href>
</bannerLeft>
<bannerRight>
<src>http://maven.apache.org/images/maven-small.gif</src>
</bannerRight>
<body>
<links>
<item name="Maven 2" xhref="http://maven.apache.org/maven2/"/>
</links>
<menu name="Overview">
<item name="Introduction" xhref="introduction.html"/>
<item name="How to Use" xhref="howto.html"/>
</menu>
${reports}
</body>
</project>
3)修改”menu”来链接静态页面,然后通过静态页的名称来创建选项和站点地图。
<menu name="Overview">
<item name="Introduction" xhref="introduction.html"/>
<item name="How to Use" xhref="howto.html"/>
<item name="<put-name-here>" xhref="<filename-of-the-static-page>"/>
</menu>
22、怎样从一个mojo里获取一个插件的依赖?
public class MyMojo extends AbstractMojo
{
/**
* @parameter expression="${plugin.artifacts}"
* @required
*/
private List pluginArtifacts;
public void execute()
throws MojoExecutionException
{
...
for ( Iterator i = pluginArtifacts.iterator(); i.hasNext(); )
{
Artifact pluginArtifact = (Artifact) i.next();
}
...
}
}
23、怎样从一个Mojo里获取项目的来源?
public class MyMojo extends AbstractMojo
{
/**
* @parameter expression="${project.compileSourceRoots}"
* @required
*/
private List sourceRoots;
public void execute() throws MojoExecutionException
{
...
for ( Iterator i = sourceRoots.iterator(); i.hasNext(); )
{
String sourceRoot = (String) i.next();
// Do what you want with these directories
}
}
}
24、如何在我的mojo里创建一个命令行参数(如-Dname=value )?
你可以在你的mojo里的参数字段中输入”expression=${<exp>}” 。
/**
* @parameter expression="${expression.name}"
*/
private String exp;
你现在就可以在命令行里运行参数:
“mvn -Dexpression.name=value install”
原创文章,转载请注明: 转载自爱飞年代
本文链接地址: Maven常见问题解答(二)
文章的脚注信息由WordPress的wp-posturl插件自动生成
Popularity: 100% [?]
Category: Maven, Maven问答收集, 技术专栏 | 1 条评论
Maven常见问题解答(一)
2010 年 11 月 05 日, 下午 8:06
1、如何阻止编译时出现”[WARNING] Using platform encoding (GBK actually) to copy filtered resources, i.e. build is platform dependent!”这样的警告?
出现类似这样的情况很多,这是因为如果你没有为编译的文件指定编码格式的话,它一般就会引用系统本身的编码,解决的办法也很简单,你只要在pom.xml(或者父项目的pom.xml)下的设置如下属性:
通用设置:
<project>
…
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
…
</project>
M3设置:
<project>
…
<properties>
<sourceEncoding>UTF-8</sourceEncoding>
</properties>
…
</project>
2、如何阻止把某些JAR包添加到WEB-INF/lib文件夹下?因为我只是想在编译时使用它!
把依赖的范围级别定义为provided,这样可以避免运行时依赖冲突。
3、如何确定我使用的是哪个版本的插件?
你可以使用Maven Help 插件的describe目标。比如你要查看install插件的当前版本:
mvn -Dplugin=install help:describe
如果想要更详细的信息,增加-Ddetail。
mvn -Dplugin=install help:describe -Ddetail
注意:这里的参数是插件的目标前缀,而不是构件的ID。比如 Maven Install Plugin的构件ID是:maven-install-plugin,而前缀是install。
4、我如何在一次Maven构建中使用ant任务?
目前有两个选择。
1)按照 instructions given in the Ant documentation自己实现。
2)如果你只需要在你的Maven构建里使用少量的ant脚本,那么你可以使用AntRun插件。
5、那么我如何在一次Ant构建中使用Maven的特性呢?
Maven Ant Tasks可以让Ant构建使用Maven的很多特性,诸如依赖管理、仓库部署等等。
6、我如何在Maven编译代码时自定义JVM的源代码和输出格式呢?
你必须在pom.xml文件里设置source和target参数。比如你要设置JVM的源代码和输出格式为1.5,那么在pom文件里可以如下设置:
…
<build>
…
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
</plugins>
…
</build>
…
7、我是否可以在Maven中创建自己的目录结构呢?
当然可以。通过配置<sourceDirectory>,<resources>和<build>部分的其它元素。此外,如果你不使用默认的文件/目录格式的话,你还必须修改相关插件的配置。
坦白讲,这是一件得不偿失的事情。
8、我如何查找Maven的源代码呢?
源代码可以通过Maven版本库找到。
如果要查阅更多信息,请点击Building Maven 2.0。
9、为何我不能正确下载Maven的依赖?
你很有可能是因为公司网络的原因限制下载,不过你可以为Maven配置一个代理。具体的操作可以参阅配置代理。
10、我想把一个Jar存放到我的本地仓库,该怎么做?
如果你了解Maven的仓库布局,它会直接复制jar过去,Maven会在下一次运行时自动发现。
如果你不了解Maven的仓库布局,你可以在命令行中使用如下的命令加载Jar文件(此命令为一行,切莫回车)。
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging> -DgeneratePom=true
其中: <path-to-file> 需加载的文件路径
<group-id> 该文件的组ID
<artifact-id> 该文件的构件ID
<version> 该文件的版本
<packaging> 该 文件的打包格式,如jar
11、如何跳过测试?
你可以在命令行增加-Dmaven.test.skip=true或-DskipTests=true参数,前者会跳过测试的编译和执行,后者仅仅跳过测试的执行。更多示例请查阅Surefire插件的跳过测试部分。
12、如何在Maven中运行一个单元测试?
在命令行增加-Dtest=MyTest参数。注:不能指定包名,如(org.apache.x.y.MyTest)
13、如何处理站点的特殊字符?
首先配置你的IDE使用正确的编码。如果使用Eclipse,在eclipse.ini中增加 -Dfile.encoding=ISO-8859-1。
在你的pom文件中配置你的输出编码:
…
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>2.0-beta-6</version>
<configuration>
<outputEncoding>UTF-8</outputEncoding>
</configuration>
</plugin>
…
然后在MAVEN_OPTS中增加跟IDE一样的编码格式,如MAVEN_OPTS=”-Dfile.encoding=ISO-8859-1″。本人不推荐直接修改Maven的BIN目录下的mvn文件,而是添加一个环境变量MAVEN_OPTS。
14、如何在我的依赖中添加tools.jar?
下面的代码可以把tools.jar包含在Windows, Linux 和 Solaris系统的JDKs中(Mac OS X和其它免费的JDKs中已经包含了)。
…
<profiles>
<profile>
<id>default-tools.jar</id>
<activation>
<property>
<name>java.vendor</name>
<value>Sun Microsystems Inc.</value>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.4.2</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
</profile>
</profiles>
…
15、Maven编译了我的测试类,但是为什么不运行呢?
测试一般都是由Surefire插件运行的。Surefire插件用来配置运行某些测试类,你很有可能无意中指定了${test}这样的值。检查你的settings.xml和pom.xml文件,看有没有命名为”test”的属性,如下列方式:
…
<properties>
<property>
<name>test</name>
<value>some-value</value>
</property>
</properties>
…
或者
…
<properties>
<test>some-value</test>
</properties>
…
16、Maven的SNAPSHOT(快照)构件存放在哪里?
如果你想要使用Maven或者插件的快照来进行构建,那么你应该要访问Maven快照仓库。
你可能需要通过快照仓库使用指南更新你的settings文件。
17、Maven 的XSD schemas存放在哪里?
Maven XSD 存放在这里,Maven Settings XSD 存放在这里。
你的IDE很有可能支持pom.xml和settings.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“>
…
</project>
<settings xmlns=”http://maven.apache.org/SETTINGS/1.0.0″
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd“>
…
</settings>
18、如果Maven不能正常工作,我该如何获取帮助?
Maven官方编制了一个可用帮助列表。
19、如何在Maven构建时产生调试或者错误信息呢?
你可以在Maven构建是调用-X(必须大写)或者-e参数。如果你要了解更多信息,在命令行执行:mvn –help
20、Mojo是什么?
Mojo是Maven中一个普通的持久化对象。每一个Mojo都是Maven中的一个执行目标,一个插件一般包含一个或者多个相关的Mojo。
21、怎样在公共Maven仓库中寻找依赖?
你可以使用下列搜索引擎:
http://repository.apache.org
http://www.artifact-repository.org
http://mvnrepository.com
http://www.mvnbrowser.com
http://www.jarvana.com
http://mavensearch.net
发表评论
-
jdbc规范
2011-06-02 17:45 16811. java.sql.*是jdbc2.0之前的东西 jav ... -
字节码增强框架ASM
2010-12-12 14:31 1203http://asm.ow2.org http://www.i ... -
数据库连接池DBCP
2010-12-05 11:23 857dbcp配置--官方文档中文 ... -
免费域名申请
2010-11-19 16:04 772domain.oray.com -
软件版本常识和软件版本号命名规则
2010-11-18 16:14 689Quoted from: http://robinjie.it ... -
中国雅虎的开发、测试及上线流程
2010-11-04 11:03 1521引自一个工程师的博客 ... -
Lucene整理中
2010-10-28 15:58 8491. 概念 Store: 是否完整存储该Field的值 ... -
ActiveMQ知识
2010-10-22 10:59 8721. static协议是broker端的构建network的协 ... -
JMX整理(待录入)
2010-10-20 14:51 760问题: 配置了JMX的相关参数后,仍无法连接 如: -Dcom ... -
负载均衡技术
2010-10-15 10:10 709http://www.360doc.com/content/1 ... -
关于集群环境下Session管理的解决方案
2010-10-13 10:42 17411. 基于Tomcat的解决方案,同样适用于以Tomcat为s ... -
常用的正则表达式
2010-10-10 17:36 688/^\[ \t]*$/ "^\[ \t]*$&quo ... -
关于负载均衡中的session
2010-09-07 16:14 6911. 一个常见的误解是以为session在有客户端访问时就被创 ... -
Eclipse中导入Tomcat源码
2010-09-06 15:42 752引自: http://panpan.blog.51cto.co ... -
jvm性能调优理论
2010-09-05 15:41 10391. 关于jvm使用的回收机 ... -
邮件模板css及html设计规范
2010-09-03 09:59 4251by dp corp. 邮件模板规范 邮件模板,请严格按照下 ... -
Code fragment
2010-09-01 11:39 7321. public boolean equals(Object ... -
开源产品归类
2010-08-30 13:36 8001. kvdb tc(tt), memcachedb, ... -
ssl配置(涉及cas)
2010-08-24 16:51 830http://hi.baidu.com/relucent/bl ... -
firefox插件
2010-08-19 17:03 7761. firebug(很好很强大) 2. cookie mon ...
相关推荐
以下是对"Maven常用知识整理"的详细阐述: 1. **项目依赖管理**:Maven通过pom.xml文件来管理项目的依赖关系,使得开发者可以声明项目需要的库,Maven会自动下载并管理这些库。依赖的版本冲突问题,Maven会按照一定...
** Maven学习资源整理** 在Java开发领域,Maven是一个不可或缺的构建工具,它极大地简化了项目的构建、管理和依赖管理过程。本资源包是为初学者和有经验的开发者准备的一系列Maven学习资料,旨在帮助你更好地理解和...
在Java开发领域,Maven是广泛使用的构建工具,它通过管理项目依赖、构建流程和生命周期来简化项目构建。本文将详细介绍Maven中的常用插件及其功能。 1. Maven Assembly Plugin Maven Assembly 插件允许开发者将项目...
maven学习笔记整理
【标题】"eclipse使用maven整理文档"涵盖了在Eclipse集成开发环境中使用Maven进行项目管理和文档生成的实践知识。Maven是一个强大的Java项目管理工具,它通过配置文件(pom.xml)来管理项目的构建、依赖关系和文档...
** Maven详解:构建Java项目的专业工具 ** Maven是一个强大的项目管理工具,广泛应用于Java开发领域,它通过标准化...通过熟练掌握Maven的使用,开发者能够更加专注于编写业务代码,而不是处理构建和依赖管理的问题。
见截图,列举部分jar: 3.5.7.Final.jar aspectjweaver.jar cglib-nodep-2.1_3.jar commons-codec-1.8.jar commons-collections-3.2.1.jar guava-15.0.jar httpClient4.3.1.rar ...maven-bundle-plugin-1.0.0.jar
### Maven教程整理 #### Maven简介 Maven是一个广泛使用的Java项目构建工具,它不仅能够进行构建,还能有效地管理项目的依赖关系、文档以及整个构建过程。与Ant等其他构建工具相比,Maven的一大特色在于它引入了...
- **最佳实践指南**:Maven遵循最佳实践,为开发者提供指导,减少常见的构建问题。 - **透明升级**:随着Maven版本的更新,项目能够平滑地迁移至新版本,保持向前兼容性。 通过上述内容的详细介绍,我们可以看出...
### Maven基础入门教程知识点整理 #### Maven概述 1. **Maven定义与历史** Maven是一个开源项目管理工具,由Apache软件基金会管理。它用纯Java编写,旨在简化Java项目的构建过程以及管理项目生命周期。Maven通过...
标题"超详细Maven快速入门到精通.txt打包整理.zip"表明这是一个关于Maven的全面教程,涵盖了从基础到高级的各个方面,旨在帮助用户快速掌握Maven的使用。Maven是一个Java项目管理和综合工具,由Apache软件基金会开发...
以下是对 Maven3 学习资料的详细整理: **一、Maven 安装与配置** 1. **安装**:首先,你需要从官方网站下载 Maven 的最新版本,然后解压到指定的目录。 2. **环境变量配置**:设置 `JAVA_HOME` 和 `MAVEN_HOME` ...
不仅如此,Maven 还是一个项目信息管理工具,它可以收集并整理项目描述、开发者信息、版本控制、许可证等,生成项目站点,提供文档、测试报告、静态代码分析等信息,方便团队协作和项目维护。此外,通过 Nexus 等...
### MAVEN基础篇-资料整理 #### 第一章 Maven 简介 ##### 1.1 软件开发中的阶段 在软件开发过程中,一个典型的项目生命周期包括多个阶段:初始化、配置管理、源代码管理、编译、测试、打包、验证、部署等。每个...
本资源包"maven-dependencies.rar"正是为了简化这一过程而精心整理的,包含了常用的Maven依赖,确保开发者在下载后无需再手动查找,极大地提高了开发效率。 首先,我们来深入理解Maven的依赖管理机制。Maven采用一...
自用maven的jar包整理,没有冲突,可以直接粘贴复制,直接使用
这份“maven完全手册”是个人精心整理的中文文档,旨在帮助开发者全面理解并掌握Maven的使用。 **1. Maven简介** Maven是由Apache软件基金会开发的一个项目管理和综合工具。它基于项目对象模型(Project Object ...
打包bundle的过程涉及到将Java代码、依赖库和其他资源整理成符合OSGi规范的.jar文件。 在Eclipse中,使用Maven进行bundle打包通常涉及以下几个步骤: 1. **设置Maven项目**: 创建一个新的Maven项目或者将现有的...
eclipse安装maven插件时常会出错,将Juno版本安装问题整理出来供大家分享