2013-12-18 86 views
0

我創建了Spring Standalone Application,在那個項目中我有Java類,Spring配置文件(applicationContext.xml)和包含spring的pom.xml文件依賴。Maven:將依賴關係和spring bean配置文件添加到jar文件中

這是我的項目的結構:

ExampleProject 
|-- src/main/java 
    |--org.example 
     |--java Classes(MainApp.java) 
|-- applicationContext.xml 
|-- src/main/resource 
|-- src 
|-- target 
|-- pom.xml 

問題: 但我的問題是使用Maven的大會創建的jar文件時,插件是隻增加了Maven依賴和java類,但不是彈簧配置文件。可以爲我提供將依賴關係和spring bean配置文件添加到jar文件的良好解決方案

下面是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/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.iton.createjarProject</groupId> 
<artifactId>createjarProject</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<properties> 
    <org.springframework.version>3.0.5.RELEASE</org.springframework.version> 
</properties> 
<dependencies> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-core</artifactId> 
     <version>${org.springframework.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-expression</artifactId> 
     <version>${org.springframework.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-beans</artifactId> 
     <version>${org.springframework.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-aop</artifactId> 
     <version>${org.springframework.version}</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-context</artifactId> 
     <version>${org.springframework.version}</version> 
    </dependency> 

</dependencies> 
<build> 
     <plugins> <plugin> 
<artifactId>maven-dependency-plugin</artifactId> 
<executions> 
    <execution> 
    <id>unpack-dependencies</id> 
    <phase>prepare-package</phase> 
    <goals> 
     <goal>unpack-dependencies</goal> 
    </goals> 
    <configuration> 
     <outputDirectory>${project.build.directory}/classes</outputDirectory> 
    </configuration> 
    </execution> 

</executions> 
</plugin> 


<plugin> 
<groupId>org.apache.maven.plugins</groupId> 
<artifactId>maven-jar-plugin</artifactId> 
<executions> 
    <execution> 
    <id>unpack-dependencies</id> 
    <phase>package</phase> 
    </execution> 
</executions> 
<configuration> 
    <archive> 
    <manifest> 
     <addClasspath>true</addClasspath> 
     <classpathPrefix>lib/</classpathPrefix> 
     <mainClass>SimpleKeyLogger</mainClass> 
    </manifest> 
    </archive> 
</configuration> 
</plugin> 

     </plugins> 


</build> 


</project> 
+0

通過配置文件,您的意思是說了'applicationContext.xml'?還有什麼是在你的'src/main/resources' –

回答

1

Maven convention是應用程序資源文件(如Spring上下文文件)應放置在src/main/resources - 除非已經在pom.xml明確重新定義。 Maven將在該文件夾中提取任何內容,並在打包應用時將其放入工件中。

所以將你的applicationContext.xmlsrc/main/resources(和它應該被稱爲的src/main/資源沒有的src/main/資源

+0

非常感謝你的解決方案...它正在工作...如果有任何疑問,我會添加評論 – user2323555