maven和gradle打war包遇到的问题及总结

1.遇到的问题:

现有一图片服务器, 要求发到tomcat时 为文件目录:

|- image-web
  |- upload
  |- WEB-INF
        |- web.xml
        |- lib

  |- index.jsp

也就是图片的资源文件需要放在web-inf的外面,方便服务器直接访问,
(tomcat不能通过url直接方法web-inf里面的内容,只能通过代码间接访问)

但是用maven和gradle 的war命令时:

却一直错打成了:

|-image-web
    |-WEB-INF
        |-web.xml
        |-lib
    |-class
        |-upload

也就是到class里面去了。

我的项目源文件目录是按照maven标准目录来的,即:

|-pom.xml
  |-src
  |-main
    |-java
    |-resources
      |-upload
    |-web-app
      |-index.jsp
      |-WEB-INF
        |-web.xml

 

gradle和maven出现的问题还不一样,gradle和maven的lib下都有文件,只是maven的class下没有upload。

我的gradle.build文件:

group 'com.test'
version '1.0'

apply plugin: 'java'
// 引用插件
apply plugin: 'war'

sourceCompatibility = 1.8 // 设置jdk版本
// webAppDirName = 'webapp'    // 设置 WebApp 根目录 默认为"src/webapp"
// 设置 Java 源码所在目录
//sourceSets {
//	main {
//		java {
//			srcDir 'src'
//		}
//		resources {
//			srcDir 'resources'
//		}
//	}
//}


repositories {
	mavenCentral()
}

dependencies {
	compile "org.springframework:spring-web:4.3.10.RELEASE"
	testCompile group: 'junit', name: 'junit', version: '4.11'
	testCompile group: 'junit', name: 'junit', version: '4.12'
}

//tasks <<{
//	println webAppDirName
//}
war {
	// 对war包的设置, 最后生成war包的名字。 默认为 setting.gradle里的name +version
	baseName = "pictureTest1"

}

 

2.问题解决: upload放错位置,改目录结构!

首先学习下maven工程标准目录结构:

// maven工程标准目录结构:
|-src 
   |-main 
      |–bin  //脚本库 
      |–java //java源代码文件 
      |–resources //资源库,会自动复制到classes目录里 
      |–filters //资源过滤文件 
      |–assembly //组件的描述配置(如何打包) 
      |–config //配置文件 
      |–webapp //web应用的目录。WEB-INF、css、js等 
   |-test 
      |–java //单元测试java源代码文件 
      |–resources //测试需要用的资源库 
      |–filters //测试资源过滤库 
   |-site //Site(一些文档) 
|-target 
|-LICENSE.txt //Project’s license 
|-README.txt //Project’s readme 

target是有存放项目构建后的文件和目录,jar包、war包、编译的class文件等。 

target里的所有内容都是maven构建的时候生成的

 

因此:

upload文件夹应该放在 web-app下,而不是resource目录下.

web-app是 打war包的根目录。首先是会按照这个目录的结构下去压缩,然后才会去添加 java、resourses里的文件!

即我的项目目录结构应该是:

|-pom.xml
|-src
    |-main
    |-java
    |-resources 
|-web-app
    |-upload
    |-index.jsp
    |-WEB-INF
        |-web.xml

 

总结参考:

MAVEN 工程打包resources目录外的更多资源文件

http://blog.csdn.net/u012849872/article/details/51035938

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值