Maven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客

Maven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客 Maven问题总结 - 3
2010-09-03 13:29:32
标签:maven
私服的plugin是不受限制的,所以和外面的使用方式是一样的, 可以直接google或者参考其他项目的pom
<parent>
        <groupId>com.alibaba</groupId>
        <artifactId>pampas</artifactId>
        <version>3-RC1</version>
</parent>

37、

多模块项目中如何在其中某几个模块上执行命令?

 
有时候我们需要在 一堆子模块中的其中某几个上执行特定的命令,我们可以用reactor插件完成。maven 2.1开始吧这个功能简化到了命令行上。
 
 实例1 - 在指定某个模块 上执行eclipse:eclipse
 mvn -pl biz/album -am -amd eclipse:eclipse
 解释:
  -pl 可以指定你需要执行命令的模块,以","分割。
  -am 意思是:如果该模块依赖了同一个大项目下的其他的模块,也一并加入到reactor列表来执行后面的命令。
  -amd 意思是:如果有依赖该模块的其他模块,也一并加入到reactor列表来执行后面的命令。 
详细历史渊源参见: http://jira.codehaus.org/browse/MNG-2576Maven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客

 
Maven + JDK6 如果碰到代码使用废弃的或者sun内部的API,会编译失败。此问题源于plexus中的compiler模块不能正确的处理javac输出的中文警告信息。

解决办法是用我们修正过的插件:
POM中配置。
 
  1. <plugin> 
  2.         <groupId>org.apache.maven.plugins</groupId> 
  3.         <artifactId>maven-compiler-plugin</artifactId> 
  4.         <version>2.3.1</version> 
  5.         <configuration> 
  6.             <optimize>true</optimize> 
  7.         </configuration> 
  8.         <dependencies> 
  9.             <dependency> 
  10.                 <groupId>org.codehaus.plexus</groupId> 
  11.                 <artifactId>plexus-compiler-javac</artifactId> 
  12.                 <version>1.8.1-patch</version> 
  13.             </dependency> 
  14.         </dependencies> 
  15.     </plugin> 

the install command

mvn install:install-file -Dfile=your-artifact-1.0.jar \
                         [-DpomFile=your-pom.xml] \
                         [-DgroupId=org.some.group] \
                         [-DartifactId=your-artifact] \
                         [-Dversion=1.0] \
                         [-Dpackaging=jar] \
                         [-Dclassifier=sources] \
                         [-DgeneratePom=true]
                         [-DcreateChecksum=true]

the deploy command

mvn deploy:deploy-file -Durl=file://C:\m2-repo \
                       -DrepositoryId=some.id \
                       -Dfile=your-artifact-1.0.jar \
                       [-DpomFile=your-pom.xml] \
                       [-DgroupId=org.some.group] \
                       [-DartifactId=your-artifact] \
                       [-Dversion=1.0] \
                       [-Dpackaging=jar] \
                       [-Dclassifier=test] \
                       [-DgeneratePom=true] \
                       [-DgeneratePom.description="My Project Description"] \
                       [-DrepositoryLayout=legacy] \
                       [-DuniqueVersion=false]

sample - memcached client jar

mvn install:install-file
  -Dfile=java_memcached-release_2.0.1.jar
  -DgroupId=com.alibaba.com.danga
  -DartifactId=memcached
  -Dversion=2.0.1
  -Dpackaging=jar
  -DgeneratePom=true

sample - c3p0

mvn deploy:deploy-file
 -Dpackaging=jar
 -DgeneratePom=true
 -DgroupId=com.alibaba.com.mchange
 -DartifactId=v2.c3p0
 -Dversion=0.9.1.2.osgi
 -Dfile=com.alibaba.com.mchange.v2.c3p0-0.9.1.2.osgi.jar
 -Durl=file://any_vaild_url_for_remote_server
 -DrepositoryId=some.id

sample - spring-javamail - 1.4.0

mvn deploy:deploy-file
 -DgroupId=com.springsource.javax.mail
 -DartifactId=mail
 -Dversion=1.4.0.osgi
 -Dpackaging=jar
 -Dfile=to_local_jar
 -Durl=dav:http://platoo.alibaba-inc.com/mvn/internal/releases
 -DrepositoryId=platoo-maven-server

sample - spring-activation - 1.1.0

mvn deploy:deploy-file
 -DgroupId=com.springsource.javax.activation
 -DartifactId=activation
 -Dversion=1.1.0.osgi
 -Dpackaging=jar
 -Dfile=to_local_jar_file
 -Durl=dav:http://platoo.alibaba-inc.com/mvn/internal/releases
 -DrepositoryId=platoo-maven-server

b2b.commons.fasttext

 mvn deploy:deploy-file -Durl=dav:http://repo.alibaba-inc.com/mvn/internal/releases -DrepositoryId=b2b.repo.server -DgroupId=com.alibaba.b2b.commons -DartifactId=fasttext -Dversion=1.2-090401 -Dpackaging=jar -Dfile=to_local_jar_file 
mvn deploy:deploy-file -Durl=dav:http://repo.alibaba-inc.com/mvn/internal/releases -DrepositoryId=b2b.repo.server -DgroupId=com.alibaba.b2b.commons -Dartifa

 
Spring Portfolio Release Repository
Identifier     spring-release
Name     Spring Portfolio Release Repository
URL     
http://maven.springframework.org/releaseMaven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客
Type     Maven 2.x Repository
Spring Portfolio Milestone Repository
Identifier     spring-milestone
Name     Spring Portfolio Milestone Repository
URL     
http://maven.springframework.org/milestoneMaven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客
Type     Maven 2.x Repository
Spring Portfolio External Repository
Identifier     spring-external
Name     Spring Portfolio External Repository
URL     
http://maven.springframework.org/externalMaven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客
Type     Maven 2.x Repository
Spring External Dependencies Repository
Identifier     spring-ext
Name     Spring External Dependencies Repository
URL     
http://springframework.svn.sourceforge.net/svnroot/springframework/repos/repo-ext/Maven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客
Type     Maven 2.x Repository
i21 osgi artifacts repo with SNAPSHOTS!!!
Identifier     i21-s3-osgi-repo
Name     i21 osgi artifacts repo with SNAPSHOTS!!!
URL     
http://maven.springframework.org/osgiMaven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客
Type     Maven 2.x Repository

将Maven2项目转为MyEclipse项目

现在项目中,大家开始用jetty。它不用像在MyEclipse中使用Tomcat那样要部署,也不用像在Tomcat中那样,要把应用都放到webapp文件夹下。jetty可以直接用你的项目的目录结构。
我们在用maven的时候,应该用maven标准的目录结构。由于jetty可以直接用你的项目的目录结构,所以jetty可以和maven很好的结合。
当然我们也可以使用Tomcat,并且也可以用MyEclipse进行部署。需要按照以下几步:

相关文章:

  • 2022-01-22
  • 2021-11-30
  • 2021-11-22
  • 2021-12-06
  • 2021-04-02
  • 2021-08-23
猜你喜欢
  • 2021-06-18
  • 2022-01-09
  • 2021-11-30
  • 2021-12-30
相关资源
相似解决方案