`

maven nexus 最佳实践

 
阅读更多
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/maven-v4_0_0.xsd"> 
  <modelVersion>4.0.0</modelVersion> 
  <groupId>org.jixiuf</groupId> 
  <artifactId>app</artifactId> 
  <packaging>jar</packaging> 
  <version>3.0</version> 
  <name>app</name> 
  <url>http://maven.apache.org</url> 
  <dependencies> 
    <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
    </dependency> 
</dependencies> 
<!-- distributionManagement 用于向nexus 服务器上deploy ;;;;; mvn deploy --> 
<distributionManagement> 
    <repository> 
        <id>releases</id> 
        <name>Nexus Release Repository</name> 
        <url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url> 
    </repository> 
    <snapshotRepository> 
        <id>nexus-snapshots</id> 
        <name>Nexus Snapshot Repository</name> 
        <url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url> 
    </snapshotRepository> 
</distributionManagement> 
</project> 



~/.m2/settings.xml


view plain
<settings> 
    <localRepository>/resource/java/repos/maven-repo</localRepository> 
    <mirrors> 
        <mirror> 
            <id>nexus</id>   
            <name>local private nexus</name>   
   <mirrorOf>central</mirrorOf>   
            <url>http://localhost:8081/nexus/content/groups/public</url>   
        </mirror> 
    </mirrors> 
    <servers> 
        <server> 
            <!--远程nexus 服务器的用户名与密码,作用就是当要向nexus deploy 自已写的jar 时,会用到.在pom.xml 中会有distributionManagement ,在那里会引用此处的id --> 
            <id>releases</id> 
            <username>admin</username> 
            <password>admin123</password> 
        </server> 
    </servers> 
    <profiles>   
        <profile>   
            <id>nexus</id>   
            <repositories>   
                <repository>   
                    <id>nexus</id>   
                    <name>local private nexus</name>   
                    <url>http://localhost:8081/nexus/content/groups/public</url>   
                    <releases>     
                        <enabled>true</enabled>     
                    </releases>     
                    <snapshots>     
                        <enabled>false</enabled>     
                    </snapshots>   
                </repository>   
            </repositories>   
        </profile>   
    </profiles>   
    <activeProfiles>   
        <!--上面定义了两个名为nexus nexus-snapshots的profile ,这里无条件激活激活, 也就是所有的项目都会用到到 ,这两个库 
        还有一种作用相同的用法,就是定义mirrors  
        --> 
        <activeProfile>nexus</activeProfile>   
    </activeProfiles>   
</settings>  





web tomcat 启动

mvn tomcat:run

除了这个好像还有一个 tomcat 的插件 ,不要弄错了,

<groupId>org.codehaus.mojo</groupId>
  <artifactId>tomcat-maven-plugin</artifactId>




<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/maven-v4_0_0.xsd"> 
  <modelVersion>4.0.0</modelVersion> 
  <groupId>org.jixiuf</groupId> 
  <artifactId>web1</artifactId> 
  <packaging>war</packaging> 
  <version>1.0</version> 
  <name>web1 Maven Webapp</name> 
  <url>http://maven.apache.org</url> 
<build> 
  <finalName>webapp1</finalName> 
  <plugins> 
<plugin> 
  <groupId>org.codehaus.mojo</groupId> 
  <artifactId>tomcat-maven-plugin</artifactId> 
  <configuration> 
  </configuration> 
</plugin> 
  </plugins> 
</build> 
  <dependencies> 
    <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>3.8.1</version> 
      <scope>test</scope> 
    </dependency> 
  </dependencies> 
</project>  



======================================================================

一个s2sh 的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/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>org.jixiuf</groupId>
    <artifactId>ss</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>ss Maven Webapp</name>
    <url>http://maven.apache.org</url>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                <!-- 编译源码  jdk 级别 -->
                    <source>1.5</source>
                    <target>1.5</target>
                </configuration>
            </plugin>
            <plugin>
            <!-- mvn tomcat:run 运行tomcat  -->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>tomcat-maven-plugin</artifactId>
                <configuration>
                </configuration>
            </plugin>
            <plugin>
            <!-- 与 hibernate 代码自动化相关的 -->
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>hibernate3-maven-plugin</artifactId>
                <version>2.2</version>
                <executions>
                    <execution>
                        <phase>process-classes</phase>
                        <goals>
                        <!-- 由hbm.xml 文件 或者annotation 生成 sql 语句 ,
                        因为hbm2ddl 是写在executions  中的,并且与process-classes进行了关联 ,
                        就是说在process-classes时也会进行hbm2ddl
                        -->
                            <goal>hbm2ddl</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <components>
                        <component>
                            <name>hbm2ddl</name>
                            <implementation>annotationconfiguration</implementation>
                        </component>
                       
                        <component>
                        <!--由 hbm 生成pojo domain 对象  -->
                            <name>hbm2java</name>
                            <packagename>${package.pojo}</packagename>
                           
                            <outputDirectory>${src.dir}</outputDirectory>
                        
                        </component>
                        <component>
                            <name>hbm2dao</name>
                                <packagename>${package.dao}</packagename>
                            <outputDirectory>${src.dir}</outputDirectory>
                        </component>
                        <component>
                            <name>hbmdoc</name>
                        </component>
                    </components>
                    <componentProperties>
                    <!-- 此plugin 一般性的属性配置 ,可以在component 中配置相同的元素override 这里的配置  -->
                        <configurationfile>/target/classes/hibernate.cfg.xml</configurationfile>
                        <packagename>org.jixiuf.pojo</packagename>
                        <outputfilename>schema.sql</outputfilename>
                        <jdk5>true</jdk5>
                        <scan-classes>true</scan-classes>
                        <!--
                            <namingstrategy>mycompany.myapp.IRDNamingStrategy</namingstrategy>
                        -->
                        <drop>false</drop>
                        <create>true</create>
                        <export>false</export>
                        <format>true</format>
                    </componentProperties>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.12</version>
                    </dependency>
                    <dependency>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                        <version>1.5.11</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-core</artifactId>
            <version>2.1.8.1</version>
        </dependency>
        <dependency>
            <groupId>jasperreports</groupId>
            <artifactId>jasperreports</artifactId>
            <version>3.7.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring</artifactId>
            <version>2.5.6</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate</artifactId>
            <version>3.2.7.ga</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-annotations</artifactId>
            <version>3.4.0.GA</version>
        </dependency>
        <!-- 引入 servlet jsp 支持,否则 找不到httpServlet 等 类 -->
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-servlet_2.4_spec</artifactId>
            <version>1.1.1</version>
            <scope>provided</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jsp_2.0_spec</artifactId>
            <version>1.1</version>
            <scope>provided</scope>
        </dependency>

    </dependencies>
   
    <!-- 一些属性的配置 ,有上面可以${package.pojo}  引用这里的参数-->
    <properties>
    <package.pojo>org.jixiuf.pojo</package.pojo>
         <package.dao>org.jixiuf.dao</package.dao>
    <src.dir>/src/main/java</src.dir>
    </properties>
</project>

分享到:
评论

相关推荐

    MAVEN使用最佳实践

    【MAVEN使用最佳实践】 Maven 是一个强大的项目管理和构建工具,它简化了Java应用程序的构建过程,通过一套约定优于配置的原则,使得项目构建、依赖管理和文档生成等工作变得标准化。以下是一些在使用Maven时可以...

    【maven】Nexus使用

    7. **最佳实践** - **分离开发、测试和生产环境的仓库**:避免测试或开发构件污染生产环境。 - **定期同步远程仓库**:保持本地代理仓库的更新,减少网络延迟。 - **使用集团仓库**:便于统一管理多个仓库的访问...

    maven+nexus学习帮助

    5. **Maven实战**:这部分内容可能包含了一些实际项目中使用Maven的技巧和最佳实践,如多模块项目配置、自定义插件、复杂依赖管理和故障排查等。了解这些实战经验有助于你在实际工作中更高效地运用Maven。 通过学习...

    Maven原理和实践-培训课件.ppt

    何为Maven 构建,依赖管理,项目信息聚合 Maven核心概念 坐标,依赖,仓库,生命周期,插件 Maven最佳实践 创建、打包、发布、版本管理 项目实战 Nexus(Todo…) M2eclipse(Todo…)

    最新maven私服工具nexus.zip

    ### 五、最佳实践 1. **定期同步中央仓库**:确保Nexus上的依赖库是最新的,减少构建失败的可能性。 2. **版本策略**:对于内部工件,制定明确的版本命名规则,避免版本冲突。 3. **定期备份**:Nexus包含重要的...

    使用maven私服nexus

    **最佳实践:** 1. 分离开发和生产环境的仓库,开发用快照,生产用稳定版本。 2. 定期清理Nexus中的过期或无用构件,保持仓库整洁。 3. 使用Nexus的搜索功能,快速定位和管理依赖。 4. 结合CI/CD工具(如Jenkins)...

    maven私服nexus-2.11.4-01.rar

    《全面解析:使用Nexus搭建Maven私服》 在软件开发过程中,Maven作为一个强大的构建工具,极大地简化了...但需要注意的是,Nexus的配置和使用是一个持续优化的过程,需要根据团队的具体需求进行调整,以实现最佳实践。

    maven私服nexus-2.4.0-09

    6. **最佳实践**: - 为不同的项目团队设置独立的仓库,避免权限冲突。 - 定期清理无用的依赖和快照,保持仓库整洁。 - 使用 Nexus 的工件搜索功能,帮助开发者快速定位所需组件。 7. **安全性**: - 配置 SSL/...

    maven window下安装包

    第5章:坐标和依赖/5.9 最佳实践/5.9.2 依赖属性使用变量 第5章:坐标和依赖/5.9 最佳实践/5.9.3 依赖关系查看 第6章:仓库/6.1 何为Maven仓库 第6章:仓库/6.2 仓库的布局 第6章:仓库/6.3 仓库的分类 第6章:仓库/...

    nexus+svn+jenkin_hudson+maven+禅道项目管理软件环境搭建二

    在本篇中,我们将深入探讨如何构建一个完整的IT开发流程,包括使用Nexus作为Maven仓库、Subversion(SVN)作为版本控制...这种环境有助于提升开发效率,减少错误,提高团队协作水平,是现代软件开发的最佳实践之一。

    maven权威指南中文版+maven the definitive guide

    - 这本额外的书籍可能涵盖了更深入的实践案例和高级主题,如持续集成、构建优化、Maven的最佳实践等。 9. **其他资源** - "LinuxIDC.com.png"可能是LinuxIDC网站的logo,该网站可能提供了更多关于Maven或其他技术...

    Maven实战(高清版)

    HOME2.3.2 ~/.m22.4 设置http代理2.5 安装m2eclipse2.6 安装netbeans maven插件2.7 maven安装最佳实践2.7.1 设置maven_opts环境变量2.7.2 配置用户范围settings?xml2.7.3 不要使用ide内嵌的maven2.8 小结第...

    Hudson apache-maven.tar nexus-oss-webapp-2.3.1-01-bundle-OK

    标题 "Hudson apache-maven.tar nexus-oss-webapp-2.3.1-01-bundle-OK" 提示我们这个压缩包包含了...安装和配置这些组件后,开发者将能够实现自动化构建流程,提升开发效率,保证代码质量,并实现持续集成的最佳实践。

    nexus-2.14.19-01-bundle.tar

    它提供了中央化的依赖管理,帮助团队遵循最佳实践,避免了版本冲突,提高了开发效率。安装和配置Nexus涉及的步骤包括下载并解压软件包,配置服务器环境,如设置Java环境变量、配置Nexus的系统属性和存储位置,启动...

    maven 安装包 官方版 绿色

    ** Maven 的最佳实践 ** 1. **遵循Maven标准目录结构**:src/main/java存放源代码,src/main/resources存放资源文件,src/test/java存放测试代码。 2. **合理使用依赖管理**:避免硬编码版本号,尽可能利用父POM或...

    linux-nexus-3.7.0.zip

    10. **最佳实践**:推荐将Nexus作为CI/CD流程的一部分,自动部署和验证新版本的依赖。同时,定期清理无用的旧版本,保持仓库的整洁。 通过理解以上知识点,你可以成功地在Linux环境下部署和使用Nexus 3.7.0作为个人...

    nexus-3.16.2-01.rar

    五、最佳实践 1. **定期备份**:为了防止数据丢失,应定期对Nexus的数据进行备份。 2. **监控与日志**:启用Nexus的日志记录和监控,以便及时发现和解决问题。 3. **安全策略设定**:根据项目需求,制定严格的仓库...

    MyEclipe部署Maven详细

    以上就是关于"MyEclipse部署Maven详细"的相关知识点,包括Maven的安装、MyEclipse中的集成、项目创建、POM配置、问题解决以及最佳实践。希望这些信息能帮助你在MyEclipse中顺利地使用Maven进行Java项目的开发和管理...

    nexus2.3.1.rar

    Nexus是Sonatype公司开发的一款开源的Maven仓库管理器,它在Java开发领域中扮演着重要的角色。...对于大型企业或团队,使用Maven私服如Nexus是最佳实践之一,因为它提供了集中化管理、安全控制和性能优化等功能。

Global site tag (gtag.js) - Google Analytics