maven 工程管理(最普通的pom.xml)

本文详细介绍了使用Maven构建的应用程序配置,包括依赖项管理、插件配置、资源过滤等关键内容。通过阅读本文,读者可以了解到如何设置Maven项目的打包方式、目标Java版本以及其他重要的构建参数。
[quote][/quote][align=left][/align]<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>bee.vision</groupId>
<artifactId>appserver</artifactId>
<packaging>war</packaging>
<version>2.2.2</version>
<description>VisionTV 2.2.x Development Framework</description>
<organization>
<name>BEE MediaSoft Limited</name>
<url>http://www.beemediasoft.com</url>
</organization>
<build>
<defaultGoal>package</defaultGoal>
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
<excludes>
<exclude>ApplicationResources_zh*.properties
</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<testResources>
<testResource>
<filtering>true</filtering>
<directory>src/test/resources</directory>
</testResource>
</testResources>
<finalName>appserver</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin
</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.3</version>
<configuration>
<additionalProjectnatures>
<projectnature>org.springframework.ide.eclipse.core.springnature
</projectnature>
</additionalProjectnatures>
<additionalBuildcommands>
<buildcommand>org.springframework.ide.eclipse.core.springbuilder
</buildcommand>
</additionalBuildcommands>
<downloadSources>false</downloadSources>
<downloadJavadocs>false</downloadJavadocs>
<wtpversion>1.5</wtpversion>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>visiontv</groupId>
<artifactId>isa</artifactId>
<version>1.4.4</version>
</dependency>
<dependency>
<groupId>jacorb</groupId>
<artifactId>jacorb</artifactId>
<version>2.3.0</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>visiontv</groupId>
<artifactId>fw</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>opensymphony</groupId>
<artifactId>webwork</artifactId>
<version>2.2.5</version>
</dependency>
<dependency>
<groupId>opensymphony</groupId>
<artifactId>quartz</artifactId>
<version>1.6.1</version>
</dependency>
<dependency>
<groupId>jgroups</groupId>
<artifactId>jgroups-all</artifactId>
<version>2.6.10.GA</version>
</dependency>
<dependency>
<groupId>net.sourceforge</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>bee.visiontv</groupId>
<artifactId>appproxy</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>org.codehaus.xfire</groupId>
<artifactId>xfire-core</artifactId>
<version>1.2.6</version>
</dependency>
<dependency>
<groupId>aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.5.4</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-digester</groupId>
<artifactId>commons-digester</artifactId>
<version>1.8.1</version>
</dependency>
<dependency>
<groupId>visiontv</groupId>
<artifactId>tvod</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>visiontv</groupId>
<artifactId>cbiSms</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-mock</artifactId>
<version>2.0.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>2.0.5</version>
<exclusions>
<exclusion>
<artifactId>spring-beans</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
<exclusion>
<artifactId>spring-core</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>dmx</groupId>
<artifactId>dao-config</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.easymock</groupId>
<artifactId>easymock</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>hessian</groupId>
<artifactId>hessian</artifactId>
<version>3.1.3</version>
</dependency>
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
<dependency>
<groupId>ojdbc</groupId>
<artifactId>ojdbc</artifactId>
<version>14</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
</dependency>
<dependency>
<groupId>dmx</groupId>
<artifactId>bpmdemo</artifactId>
<version>1.0-08.01.10B</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.6.ga</version>
</dependency>
<dependency>
<groupId>opensymphony</groupId>
<artifactId>oscache</artifactId>
<version>2.4</version>
<exclusions>
<exclusion>
<artifactId>servlet-api</artifactId>
<groupId>javax.servlet</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>dmx</groupId>
<artifactId>jbpm32wrapper</artifactId>
<version>1.0-08.01.10B</version>
</dependency>
<dependency>
<groupId>dmx</groupId>
<artifactId>dmx-license</artifactId>
<version>1.0-08.01.28B</version>
</dependency>
<dependency>
<groupId>dmx</groupId>
<artifactId>bpmintegrate</artifactId>
<version>1.0-08.01.11B</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
</project>
Maven子父工程中,pom.xml文件无法被正确识别是一个常见的问题,通常涉及IDE配置、Maven配置或项目结构等方面。以下是一些排查与解决方法: ### 1. 检查Maven项目结构是否正确 确保父项目的`pom.xml`文件中定义了正确的`<modules>`部分,以包含所有子模块。例如: ```xml <modules> <module>submodule1</module> <module>submodule2</module> </modules> ``` 此外,子模块的`pom.xml`文件中应指定父项目的坐标,确保其继承关系正确: ```xml <parent> <groupId>com.example</groupId> <artifactId>parent-project</artifactId> <version>1.0.0</version> </parent> ``` ### 2. 清理并重新导入项目 有时IDE(如Eclipse或IntelliJ IDEA)的缓存可能导致项目识别问题。可以尝试以下步骤: - **删除`.project`文件和`.classpath`文件**:在项目根目录下找到并删除这些文件。 - **删除`.metadata`目录**:在Eclipse中,`.metadata`目录存储了项目配置信息,删除后重启Eclipse并重新导入项目。 - **使用Maven命令清理**:在终端中执行以下命令,清理Maven缓存并重新导入项目: ```bash mvn clean install ``` ### 3. 检查IDE中的Maven配置 在IntelliJ IDEA中,可以通过以下方式检查和修复Maven配置: - **重新加载Maven项目**:在“Maven Projects”窗口中,点击“Reimport”按钮,强制重新加载项目。 - **检查Maven设置**:进入`File > Settings > Build, Execution, Deployment > Build Tools > Maven`,确保Maven的`settings.xml`文件路径和本地仓库路径正确。 ### 4. 检查pom.xml文件是否损坏 如果pom.xml文件损坏或格式错误,可能导致Maven无法识别。可以尝试以下方法: - **验证pom.xml文件**:使用在线工具或IDE的XML验证功能检查pom.xml是否存在语法错误。 - **替换pom.xml文件**:将pom.xml文件复制到其他路径并尝试导入,如果能够正常识别,则原文件可能被IDE缓存影响[^2]。 ### 5. 使用Maven Helper插件解决依赖冲突 如果依赖冲突导致pom.xml文件无法被正确识别,可以使用Maven Helper插件进行排查: - **安装Maven Helper插件**:在IntelliJ IDEA中,进入`Settings > Plugins`,搜索并安装Maven Helper。 - **分析依赖冲突**:在“Maven Helper”窗口中,查看有冲突的依赖项,并按照插件提供的建议修改pom.xml文件,更新依赖版本[^3]。 ### 6. 检查Maven环境配置 确保Maven的安装和环境变量配置正确: - **检查Maven版本**:在终端中执行`mvn -v`,确认Maven已正确安装。 - **配置Maven镜像**:在`settings.xml`文件中添加阿里巴巴等镜像,提高依赖下载速度: ```xml <mirrors> <mirror> <id>aliyun</id> <name>Aliyun Maven</name> <url>https://maven.aliyun.com/repository/public</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> ``` ### 7. 检查本地Maven仓库 有时本地Maven仓库中的依赖文件可能损坏,导致pom.xml文件无法识别: - **清除本地Maven仓库**:删除本地Maven仓库中的`repository`目录,然后重新执行`mvn clean install`命令,重新下载依赖。 通过以上步骤,可以有效排查和解决Maven子父工程中pom.xml文件无法识别的问题。如果问题仍然存在,建议检查项目版本控制历史,确认是否有未提交的配置更改,或者寻求团队中其他成员的帮助[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值