`
oncekey
  • 浏览: 12240 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Maven POM配置-涉及一些插件的使用记录

 
阅读更多
<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>com.garfield.gserver</groupId>
    <artifactId>GServer</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.0-beta9</version>
        </dependency>

        <!-- 
        ERROR Root contains an invalid element or attribute "AppenderRef"
        This is an error for 2.0-beta8, it is not present on 2.0-beta9
         -->
        
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.0-beta9</version>
        </dependency>

        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.7</version>
        </dependency>

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-jcl</artifactId>
            <version>2.0-rc1</version>
        </dependency>
            
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-slf4j-impl</artifactId>
            <version>2.0-rc1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.1</version>
        </dependency>


        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.3.5.Final</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>4.0.3.RELEASE</version>
        </dependency>


        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.0.3.RELEASE</version>

        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.0.3.RELEASE</version>
        </dependency>


        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>4.0.3.RELEASE</version>
        </dependency>


        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>4.0.3.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>4.0.3.RELEASE</version>
        </dependency>


        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>4.0.3.RELEASE</version>
        </dependency>

        <!-- json-lib是需要区分jdk版本的,pom.xml中的配置应加上<classifier>标签,如用jdk15: -->
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>

        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
        </dependency>

        <dependency>
            <groupId>com.microsoft.sqlserver</groupId>
            <artifactId>sqljdbc4</artifactId>
            <version>4.0</version>
        </dependency>

        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5-pre8</version>
        </dependency>

        
            

        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.9</version>
        </dependency>


        <!-- maven打包编译的异常 :sun.misc.BASE64Decoder 是 Sun 的专用 API,可能会在未来版本中删除的解决方法 -->
        <dependency>
            <groupId>org.codehaus.plexus</groupId>
            <artifactId>plexus-compiler-javac</artifactId>
            <version>1.8.1</version>
        </dependency>


        <!-- maven工程 仓库没有的jar使用方法 <dependency> <groupId>cryptix</groupId> <artifactId>cryptix-jce-api</artifactId> 
            <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/cryptix-jce-api.jar</systemPath> 
            </dependency> -->

        <!-- <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> 
            <version>2.0-rc1</version> </dependency> -->

    </dependencies>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <build>
        <defaultGoal>compile</defaultGoal>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.7</source>
                    <target>1.7</target>
                    <encoding>UTF-8</encoding>  <!-- “编码 GBK 的不可映射字符”问题的解决 -->
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <includes>
                        <!--不写匹配默认规则,TestSuit结尾,test开头的方法  -->
                        <include>**/*TestSuit.java</include>   <!-- 两个星号**用来匹配任意路径,一个星号*用来获取除路径风格符外的0个或多个字符 -->
                    </includes>
                    <excludes>
                        <exclude>**/CollectionBillTestCase.java</exclude>
                        <exclude>**/PaymentBillTestCase.java</exclude>
                    </excludes>
                    <skip>false</skip>  <!-- 略过单元测试 -->
                    <testFailureIgnore>true</testFailureIgnore> <!-- 当Maven 遇到一个测试失败,它默认的行为是停止当前的构建。 如果你希望继续构建项目,即使 Surefire 插件遇到了失败的单元测试,你就需要设置 Surefire 的testFailureIgnore 这个配置属性为 true -->
                </configuration>
            </plugin>

            
            <!-- 把依赖的jar包拷到lib目录下 -->

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
                            <overWriteReleases>false</overWriteReleases>
                            <overWriteSnapshots>false</overWriteSnapshots>
                            <overWriteIfNewer>true</overWriteIfNewer>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            
                        
            <!-- 把配置文件拷到和jar包同一个路径下 -->
            <!-- 以utf-8编码拷贝配置文件,拷贝过程中是可以做变量替换的,也就是说你的配置文件可以是个模板,里面的${}所包含的内容是可以拷贝过程中替换的 -->
            <!-- 
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.4</version>
                <executions>
                    <execution>
                        <id>copy-resources</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-resources</goal>
                        </goals>
                        <configuration>
                            <encoding>UTF-8</encoding>
                            <outputDirectory>${project.build.directory}</outputDirectory>
                            <resources>
                                <resource>
                                    <directory>src/main/resources/</directory>
                                    <filtering>true</filtering>
                                </resource>
                            </resources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
             -->
            <!-- 打jar包时需要把配置文件给排除在外 -->
            <!-- 
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                        <configuration>
                            <archive>
                                <manifest>
                                    <addClasspath>true</addClasspath>
                                    <classpathPrefix>lib/</classpathPrefix>
                                    <mainClass>com.garfield.gui.Main</mainClass>
                                </manifest>
                            </archive>
                            <classifier>lib</classifier>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
              -->   
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifest>
                            <addClasspath>true</addClasspath>  <!-- 在jar包中增加依赖jar路径说明 -->
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>com.garfield.gui.Main</mainClass>
                        </manifest>
                        
                        <!-- 用maven在MANIFEST.MF资料中的Class-Path中增加当前目录(.)  -->
                        <manifestEntries>
                           <Class-Path>.</Class-Path>
                        </manifestEntries>
                        
                    </archive>
                </configuration>
            </plugin>
             
            <!-- 
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                  <descriptors>
                    <descriptor>/assembly.xml</descriptor>
                  </descriptors>
                </configuration>
                <executions>
                  <execution>
                    <id>make-assembly</id>
                    <phase>package</phase>
                    <goals>
                      <goal>single</goal>
                    </goals>
                  </execution>
                </executions>
              </plugin>
             -->
        </plugins>
        
        
        <!-- POM文件报错maven-dependency-plugin (goals "copy-dependencies", "unpack") is not supported by m2e., 
        在</build>标签前添加如下内容  -->
        
        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.eclipse.m2e</groupId>
                    <artifactId>lifecycle-mapping</artifactId>
                    <version>1.0.0</version>
                    <configuration>
                        <lifecycleMappingMetadata>
                            <pluginExecutions>
                                <pluginExecution>
                                    <pluginExecutionFilter>
                                        <groupId>org.apache.maven.plugins</groupId>
                                        <artifactId>maven-dependency-plugin</artifactId>
                                        <versionRange>[2.0,)</versionRange>
                                        <goals>
                                            <goal>copy-dependencies</goal>
                                            <goal>unpack</goal>
                                        </goals>
                                    </pluginExecutionFilter>
                                    <action>
                                        <ignore />
                                    </action>
                                </pluginExecution>
                            </pluginExecutions>
                        </lifecycleMappingMetadata>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
        
        
        <resources>
            <!--打包进XML等文件,排除java及版本控制文件  -->
            <resource>
                 <directory>src/main/java</directory>
                <excludes>
                     <exclude>**/*.java</exclude>
                     <exclude>**/.svn/*</exclude>
                 </excludes>
             </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*</include>
                    <include>**/*.*</include>
                </includes>
            </resource>
        </resources>
    </build>

</project>

 

分享到:
评论

相关推荐

    apache-maven-3.6.3-bin.zip

    5. **README.txt**:通常包含了一些基础的安装和使用指南,帮助用户快速了解如何设置和运行Maven。 6. **CHANGES.txt**:这是一个详细记录了Maven各个版本更新内容的文件,包括新特性、修复的bug和其他改进。 ...

    lenskit-eval-maven-plugin-2.0.3.1.zip

    1. **Maven插件机制**:了解Maven如何通过插件扩展其功能,以及如何在pom.xml文件中配置插件以执行特定任务。 2. **推荐系统**:学习LensKit提供的推荐算法,如协同过滤、基于内容的推荐等,以及如何训练和评估这些...

    apache-maven下载安装

    通过在POM中配置插件,你可以扩展Maven的功能以满足项目的特定需求。 对于初学者来说,下载和安装Maven非常简单。可以从Apache官方网站获取最新版本的Maven,例如在本例中是`apache-maven-3.5.0`。下载后解压,将...

    MAVEN打可运行jar包

    总的来说,MAVEN打可运行jar包涉及到对`pom.xml`的配置,选择合适的打包插件,以及正确设置主类,这些都是Java开发过程中必备的技能。通过理解并熟练掌握这些步骤,你可以更高效地管理和部署Java项目。

    eclipse svn-maven插件

    它通过使用一个项目对象模型(Project Object Model,POM)来管理项目配置,并且有一个庞大的中央仓库,可以自动下载项目所需的依赖库。 4. **Eclipse SVN Maven插件**:此插件将Eclipse、SVN和Maven的功能结合在...

    maven_parent.rar

    【标题】"maven_parent.rar"是一个关于使用Maven构建父子工程的实例,它涉及到Java开发中的项目管理和依赖管理工具Maven。在这个案例中,我们将深入理解如何设置一个父项目来管理多个子项目,以及如何在实际的商品...

    master-MavenHappyPathTest-Maven-smoke-test-c594fdb-269:说明

    Maven使用一种标准的项目对象模型(Project Object Model,POM),在POM中定义了项目的配置信息,包括依赖、构建目标、插件等。通过POM,Maven可以自动下载项目所需的库文件,执行编译、测试、打包、部署等任务。 ...

    示例源码_SpringBoot踩坑记录:IDEA+MAVEN本地 jar 包打包及引入使用_Qc20201217.zip

    同时,配置maven-jar-plugin插件,设置标签,包含manifest文件,确保启动类能在jar包中被正确识别。 接下来,"打包后"阶段涉及的是如何生成可执行的jar包。在IDEA中,可以通过"Maven"面板运行"package"目标来打包...

    sonatype与腾讯云配合构建项目到中央仓库.docx

    在IT行业中,构建和发布Java项目到...总之,发布Java项目到中央仓库涉及到多个步骤,包括在Sonatype注册、验证域名所有权、完善POM文件和配置Maven插件。遵循这些规范,你的项目就能顺利地进入全球开发者使用的视野。

    maven工作使用的记录

    【标题】:“maven工作使用的记录” 在软件开发过程中,Maven是一个不可或缺的构建工具,尤其对于Java项目而言。它简化了项目的构建、管理和依赖管理流程。Maven使用一种标准化的项目对象模型(Project Object ...

    MavenUtil 文件拷贝

    9. **日志记录**:为了跟踪和调试,MavenUtil可能使用Maven的日志系统(如Log4j或SLF4J)来记录文件拷贝的进度和可能出现的错误。 10. **测试**:为了确保MavenUtil的文件拷贝功能正确无误,通常需要编写单元测试和...

    sshexec-maven-plugin:基于Jsch的ssh的文件上传和命令执行的Maven插件

    在`pom.xml`中配置SSHExec Maven Plugin通常涉及以下几个关键元素: 1. **`groupId`**: 插件的唯一标识符,对于SSHExec Maven Plugin,它是`com.github.jsch`。 2. **`artifactId`**: 插件的名称,即`sshexec-maven...

    示例源码_SpringBoot踩坑记录:IDEA+MAVEN本地 jar 包打包及引入使用_Qc20201223.zip

    在本压缩包文件"示例源码_SpringBoot踩坑记录:IDEA+MAVEN本地 jar 包打包及引入使用_Qc20201223.zip"中,我们聚焦于SpringBoot项目开发过程中的一些常见问题,特别是涉及到IDEA(IntelliJ IDEA)和MAVEN的本地jar包...

    maven-failsafe-tests:Maven Failsafe Plugin的一些测试

    Maven Failsafe Plugin是Apache Maven项目中的一个插件,主要设计用于集成和运行应用程序的集成测试和系统测试。这个插件与Maven Surefire Plugin协同工作,Surefire负责执行单元测试,而Failsafe则负责执行那些更...

    intellij idea 中调用kettle9.2.0.0-290样例

    综上所述,这个项目是一个使用IntelliJ IDEA开发的Maven Java项目,它整合了Kettle 9.2.0.0-290版本,并且可能涉及到密码编码的插件配置。开发者可以通过执行`main`函数来启动一个Kettle的数据处理流程,这通常涉及...

    maven+springmvc+mybatis+log4j+配置说明网址

    在实际开发中,Maven的POM.xml文件定义了项目的配置信息,包括依赖、插件和构建过程。 **Spring MVC** 是Spring框架的一个模块,用于构建Web应用程序。它提供了模型-视图-控制器(Model-View-Controller)架构,将...

    JavaWeb-Maven框架-黑马旅游网源码

    在黑马旅游网的源码中,Maven的配置文件`pom.xml`定义了项目的依赖库、构建过程和插件,使得开发者能够方便地管理和更新项目所需的库,减少了手动配置的复杂性。Maven的生命周期包括清理、编译、测试、打包、验证和...

    maven_笔记

    【 Maven 知识点详解】 Maven 是一个 Java 项目管理...在实际开发中,开发者通常会记录下如何配置 Maven 插件来实现特定需求,如使用特定的打包插件来处理图片资源,或者使用测试插件来确保图片加载和显示的正确性。

    Java发布包到maven公共仓库完整教程

    在你的项目pom.xml文件中,添加必要的部署和签名配置,包括GPG插件、发行配置和签名信息。确保设置正确的Group Id、Artifact Id和Version。 ```xml ... &lt;groupId&gt;xyz.xiezc &lt;artifactId&gt;your-project-name ...

Global site tag (gtag.js) - Google Analytics