Maven打jar实现lib 配置 和打的jar分离

pom.xml

 


	4.0.0

	com.test.acount
	acount-email
	0.0.1-SNAPSHOT
	jar

	acount-email
	http://maven.apache.org

	
		UTF-8
	

	
		
			junit
			junit
			4.7
			test
		

		
			org.springframework
			spring-core
			2.5.6
		
		
			org.springframework
			spring-beans
			2.5.6
		
		
			org.springframework
			spring-context
			2.5.6
		
		
			org.springframework
			spring-context-support
			2.5.6
		
		
			javax.mail
			mail
			1.4.1
		
		
			com.icegreen
			greenmail
			1.3.1b
			test
		
	
	
		
		
			
				src/main/resources
				
					mail.properties
				
			
		
		
			
				
					org.apache.maven.plugins
					maven-jar-plugin
					2.4
					
						
							不打包依赖的jar,把依赖的jar copy到lib目录,和生成的jar放在同一级目录下
							
								true
								lib/
								com.test.acount.email.AcountEmailServiceImpl
							
						
					
				
			
		
	


 

 

 

mail.properties和依赖的jar没有被打进去,现在去添加这些东西,使打出的jar可运行

项目目录:

Maven打jar实现lib 配置 和打的jar分离_第1张图片

 

acount-email.xml对没有引入的mail.peroperties进行了引用,

acount-email.xml内容:

 

  


	
		
		
	
	
		
		
		
		
		
		
			
				${email.host}
				${email.protocol}
				${email.auth}
				${email.socketFactory}
				${email.port}
				${email.port}
				${email.timeout}
			
		
	
	
	
			
			
	


这段配置是用来引用的,

 

 

 

如果value="classpath:mail.properties 起点目录默认classpath,而mail.properties就在classpath下,所以直接可引用;

如果value="file:src/main/resources/mail.properties,是用file引用的,起点是项目根目录

因为mail.properties没有打进classpath,我们只能使用file引用。

我们需要在打出的jar所在目录,建立src/main/resources/mail.properties,

按照之前的方式,把依赖的jar放进lib里,就可以运行这个jar了。

Maven打jar实现lib 配置 和打的jar分离_第2张图片

你可能感兴趣的:(maven)