Maven创建并管理Web项目(上传Web项目的API的JAR到Nexus 私服上)
2017-12-27 23:01
771 查看
目录
1.简介
2.安装Eclipse Maven插件
3.用Eclipse创建Maven Web项目
4.配置settings.xml 文件并下载项目依赖的JAR,并上传Web项目的api的JAR到Nexus 私服
1.简介
Maven、Nexus 私服的安装和配置和Maven的优点在Maven和
Sonatype Nexus私服的安装、配置及使用入门已经有介绍了,这里就不在介绍了,今天我们要介绍Maven创建并管理Web项目,方便我们项目的开发和管理。
2.安装Eclipse Maven插件
我们要在Eclipse开发Maven项目,所以我们要安装Maven插件,我们这里通过在线安装,通过Eclipse的Help–>Install New Software,在 http 地址:http://m2eclipse.sonatype.org/sites/m2e,把选项勾上,然后下载安装,完成之后重启 Eclipse 即可。
3.用Eclipse创建Maven Web项目
我们这边创建Maven Web项目,创建了一个Parent项目然后里面包含了一个api(包含Entry和services接口)和一个 console(控制层和视图、services实现等)
第一步我们先创建Parent项目,右击New–>Maven Project
这边Packaging选择 pom
第二步我们创建JAR类型和WAR类型(Packaging选择JAR类型和WAR类型)
这里我们创建好Maven Web项目 项目目录是这样的
4.配置setting.xml 文件并下载项目依赖的JAR,并上传Web项目的api的JAR到Nexus 私服
上面创建好项目后,为我们实现配置setting.xml 文件并下载项目依赖的JAR,并上传Web项目的api的JAR到Nexus 私服创建好条件,接下去讲是重点之一
第一步,我们要配置settings.xml 文件,因为settings.xml 告诉要到哪个Nexus
私服所依赖JAR或者上传到Nexus 私服上的,这个配置settings.xml 只是一部分,我们还要配置pom.xml文件。
配置settings.xml 文件,首先在Eclipse上配置关联我们自己的settings.xml文件
settings.xml文件
[java]
view plain
copy
print?
<?xml version=“1.0” encoding=“UTF-8”?>
<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”>
<localRepository>E:\nexus\.m2\repository</localRepository>
<pluginGroups>
<pluginGroup>org.mortbay.jetty</pluginGroup>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<!–maven发布库的id–>
<id>releases</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<!–maven快照库的id–>
<id>snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
<mirrors>
<mirror>
<id>central.m2</id>
<name>one of the central mirrors</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.6</jdk>
</activation>
<properties>
<!– 编译器相关信息 –>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
</properties>
<repositories>
<repository>
<id>public</id>
<name>Public Repositories</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public</url>
<layout>default</layout>
<snapshots>
<checksumPolicy>fail</checksumPolicy>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<checksumPolicy>fail</checksumPolicy>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>Public Repositories</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public/</url>
<layout>default</layout>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
</settings>
[java] view plain copy print?<?xml version=“1.0” encoding=“UTF-8”?>
<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”>
<localRepository>E:\nexus\.m2\repository</localRepository>
<pluginGroups>
<pluginGroup>org.mortbay.jetty</pluginGroup>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<!–maven发布库的id–>
<id>releases</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<!–maven快照库的id–>
<id>snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
<mirrors>
<mirror>
<id>central.m2</id>
<name>one of the central mirrors</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.6</jdk>
</activation>
<properties>
<!– 编译器相关信息 –>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
</properties>
<repositories>
<repository>
<id>public</id>
<name>Public Repositories</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public</url>
<layout>default</layout>
<snapshots>
<checksumPolicy>fail</checksumPolicy>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<checksumPolicy>fail</checksumPolicy>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>Public Repositories</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public/</url>
<layout>default</layout>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
</settings>
说明:
1.localRepository 指定本地仓库存储路径,从Nexus 私服上下载JAR下来,保存的地方。
2.配置远程仓库列表 ;id:远程仓库唯一标识; name:远程仓库名称 url:远程仓库URL。
3.enabled:是否使用这个资源库下载这种类型的构件 默认值:true ; updatePolicy:指定下载更新的频率。这里的选项是:always(一直),daily(每日,默认值),interval:X(这里X是指分钟),或者never(从不);checksumPolicy:当Maven验证构件校验文件失败时该怎么做fail(失败)或者warn(告警)
3.activeProfiles 指定被激活的配置文件。
第二步:下载项目依赖的JAR
我们在POM.XML中加入要引入的JAR,Maven会自动的从Nexus 私服下载对应的JAR,我们在localRepository 指定本地仓库存储路径下就可以找到对应的JAR
第三步:我们想把我们的传Web项目的api提供给别人使用时,我们上传到Nexus
私服上供别人去下载使用,这里我介绍使用Maven命令上传,也可以使用手动上传。
我们在parent项目中POM.XML加入distributionManagement标签指定Nexus
私服的URL
test-maven-api类型是JAR,我们现在要把这个JAR打包并上传到Nexus 私服,首先我们先点击test-maven-api项目右击Run AS->Maven Install
这时JAR打包好了
我们用Maven命令上传,先点击test-maven-api项目右击Run AS->runconfiguration 然后Maven Build右击New 新建并Goals填入clean deploy
然后点击run 运行一下 就可以了,我们在console打印成功并在Nexus 私服上可以查看得到上传成功。
我们上传上去,方便别人去下载,不用我们每次要使用时,在打包给别人使用。
在这整个过程中,我们碰到的一些错误
1)我们在上传JAR时报一个错误,就是Nexus 私服的用户名和密码写错了,导致报错上传不了
我们在Eclipse关联的settings.xml中servers中的用户名和密码写对就可以。
2)我们在POM.XML引入依赖的JAR包时,版本很多时,我们没写版本,这个就会报找不到
这时我们要指定使用了哪个版本,这样就不会报找不到这个JAR包
1.简介
2.安装Eclipse Maven插件
3.用Eclipse创建Maven Web项目
4.配置settings.xml 文件并下载项目依赖的JAR,并上传Web项目的api的JAR到Nexus 私服
1.简介
Maven、Nexus 私服的安装和配置和Maven的优点在Maven和
Sonatype Nexus私服的安装、配置及使用入门已经有介绍了,这里就不在介绍了,今天我们要介绍Maven创建并管理Web项目,方便我们项目的开发和管理。
2.安装Eclipse Maven插件
我们要在Eclipse开发Maven项目,所以我们要安装Maven插件,我们这里通过在线安装,通过Eclipse的Help–>Install New Software,在 http 地址:http://m2eclipse.sonatype.org/sites/m2e,把选项勾上,然后下载安装,完成之后重启 Eclipse 即可。
3.用Eclipse创建Maven Web项目
我们这边创建Maven Web项目,创建了一个Parent项目然后里面包含了一个api(包含Entry和services接口)和一个 console(控制层和视图、services实现等)
第一步我们先创建Parent项目,右击New–>Maven Project
这边Packaging选择 pom
第二步我们创建JAR类型和WAR类型(Packaging选择JAR类型和WAR类型)
这里我们创建好Maven Web项目 项目目录是这样的
4.配置setting.xml 文件并下载项目依赖的JAR,并上传Web项目的api的JAR到Nexus 私服
上面创建好项目后,为我们实现配置setting.xml 文件并下载项目依赖的JAR,并上传Web项目的api的JAR到Nexus 私服创建好条件,接下去讲是重点之一
第一步,我们要配置settings.xml 文件,因为settings.xml 告诉要到哪个Nexus
私服所依赖JAR或者上传到Nexus 私服上的,这个配置settings.xml 只是一部分,我们还要配置pom.xml文件。
配置settings.xml 文件,首先在Eclipse上配置关联我们自己的settings.xml文件
settings.xml文件
[java]
view plain
copy
print?
<?xml version=“1.0” encoding=“UTF-8”?>
<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”>
<localRepository>E:\nexus\.m2\repository</localRepository>
<pluginGroups>
<pluginGroup>org.mortbay.jetty</pluginGroup>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<!–maven发布库的id–>
<id>releases</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<!–maven快照库的id–>
<id>snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
<mirrors>
<mirror>
<id>central.m2</id>
<name>one of the central mirrors</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.6</jdk>
</activation>
<properties>
<!– 编译器相关信息 –>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
</properties>
<repositories>
<repository>
<id>public</id>
<name>Public Repositories</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public</url>
<layout>default</layout>
<snapshots>
<checksumPolicy>fail</checksumPolicy>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<checksumPolicy>fail</checksumPolicy>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>Public Repositories</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public/</url>
<layout>default</layout>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
</settings>
[java] view plain copy print?<?xml version=“1.0” encoding=“UTF-8”?>
<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”>
<localRepository>E:\nexus\.m2\repository</localRepository>
<pluginGroups>
<pluginGroup>org.mortbay.jetty</pluginGroup>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<!–maven发布库的id–>
<id>releases</id>
<username>admin</username>
<password>admin</password>
</server>
<server>
<!–maven快照库的id–>
<id>snapshots</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
<mirrors>
<mirror>
<id>central.m2</id>
<name>one of the central mirrors</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.6</jdk>
</activation>
<properties>
<!– 编译器相关信息 –>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
<maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion>
</properties>
<repositories>
<repository>
<id>public</id>
<name>Public Repositories</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public</url>
<layout>default</layout>
<snapshots>
<checksumPolicy>fail</checksumPolicy>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
<releases>
<checksumPolicy>fail</checksumPolicy>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public</id>
<name>Public Repositories</name>
<url>http://192.168.74.129:8081/nexus/content/groups/public/</url>
<layout>default</layout>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
</settings>
<?xml version="1.0" encoding="UTF-8"?> <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"> <localRepository>E:\nexus\.m2\repository</localRepository> <pluginGroups> <pluginGroup>org.mortbay.jetty</pluginGroup> </pluginGroups> <proxies> </proxies> <servers> <server> <!--maven发布库的id--> <id>releases</id> <username>admin</username> <password>admin</password> </server> <server> <!--maven快照库的id--> <id>snapshots</id> <username>admin</username> <password>admin</password> </server> </servers> <mirrors> <mirror> <id>central.m2</id> <name>one of the central mirrors</name> <url>http://192.168.74.129:8081/nexus/content/groups/public</url> <mirrorOf>*</mirrorOf> </mirror> </mirrors> <profiles> <profile> <id>dev</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.6</jdk> </activation> <properties> <!-- 编译器相关信息 --> <maven.compiler.source>1.6</maven.compiler.source> <maven.compiler.target>1.6</maven.compiler.target> <maven.compiler.compilerVersion>1.6</maven.compiler.compilerVersion> </properties> <repositories> <repository> <id>public</id> <name>Public Repositories</name> <url>http://192.168.74.129:8081/nexus/content/groups/public</url> <layout>default</layout> <snapshots> <checksumPolicy>fail</checksumPolicy> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> <releases> <checksumPolicy>fail</checksumPolicy> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </releases> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>public</id> <name>Public Repositories</name> <url>http://192.168.74.129:8081/nexus/content/groups/public/</url> <layout>default</layout> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>dev</activeProfile> </activeProfiles> </settings>
说明:
1.localRepository 指定本地仓库存储路径,从Nexus 私服上下载JAR下来,保存的地方。
2.配置远程仓库列表 ;id:远程仓库唯一标识; name:远程仓库名称 url:远程仓库URL。
3.enabled:是否使用这个资源库下载这种类型的构件 默认值:true ; updatePolicy:指定下载更新的频率。这里的选项是:always(一直),daily(每日,默认值),interval:X(这里X是指分钟),或者never(从不);checksumPolicy:当Maven验证构件校验文件失败时该怎么做fail(失败)或者warn(告警)
3.activeProfiles 指定被激活的配置文件。
第二步:下载项目依赖的JAR
我们在POM.XML中加入要引入的JAR,Maven会自动的从Nexus 私服下载对应的JAR,我们在localRepository 指定本地仓库存储路径下就可以找到对应的JAR
第三步:我们想把我们的传Web项目的api提供给别人使用时,我们上传到Nexus
私服上供别人去下载使用,这里我介绍使用Maven命令上传,也可以使用手动上传。
我们在parent项目中POM.XML加入distributionManagement标签指定Nexus
私服的URL
test-maven-api类型是JAR,我们现在要把这个JAR打包并上传到Nexus 私服,首先我们先点击test-maven-api项目右击Run AS->Maven Install
这时JAR打包好了
我们用Maven命令上传,先点击test-maven-api项目右击Run AS->runconfiguration 然后Maven Build右击New 新建并Goals填入clean deploy
然后点击run 运行一下 就可以了,我们在console打印成功并在Nexus 私服上可以查看得到上传成功。
我们上传上去,方便别人去下载,不用我们每次要使用时,在打包给别人使用。
在这整个过程中,我们碰到的一些错误
1)我们在上传JAR时报一个错误,就是Nexus 私服的用户名和密码写错了,导致报错上传不了
我们在Eclipse关联的settings.xml中servers中的用户名和密码写对就可以。
2)我们在POM.XML引入依赖的JAR包时,版本很多时,我们没写版本,这个就会报找不到
这时我们要指定使用了哪个版本,这样就不会报找不到这个JAR包
相关文章推荐
- Maven创建并管理Web项目(上传Web项目的API的JAR到Nexus 私服上)
- 上传jar到私服的两种方式From POM和GAV Parameters。使用Nexus管理Maven仓库时,上传带依赖的第三方jar.
- 【项目管理与构建】Maven搭建私服——Nexus的详细介绍以及安装(四)
- 【Java Web】Myeclipse下运用maven管理项目jar包
- Idea 下创建 maven管理的spring mvc项目,并上传到github
- IntelliJ IDEA2017结合maven和nexus创建web项目
- IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)
- IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)
- maven 上传项目或者jar到私服
- Maven 私服项目Jar包上传与下载
- 电商之梳理项目nexus的maven部署---jar包管理工具
- IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)
- 使用Nexus管理Maven仓库时,上传带依赖的第三方jar
- eclipse中maven插件上传项目jar包到私服
- IntelliJ IDEA 12创建Maven管理的Java Web项目
- IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)
- IntelliJ IDEA 12创建Maven管理的Java Web项目
- maven私服配置上传jar到nexus
- maven上传私有jar包到本地私服仓库,私服使用nexus repository manager 3.3
- IntelliJ IDEA 12创建Maven管理的Java Web项目(图解)