现在项目是 Ant 管理的,要将其改成 Maven,不需要自动化,可以接受完全重写。但是有几个问题稍微看了下文档,不得门而入。求指点(并非求完整解决方案,只是想得到点提示)。自定义 build 逻辑,比如先把 jsp 编译成 class 再打包成 jar,而不是直接发布 jsp 文件,由 tomcat 当场编译。自定义目录结构,因为是一个比较大的项目且很多模块,但是共同一套配置文件目录结构等。最简单的私有 Maven repo 要如何搭建(期望是按照某个目录结构向外发布 http/ftp 访问即可,不需要 web 端去可视化管理)谢谢
2 回答
红糖糍粑
TA贡献1815条经验 获得超6个赞
感觉你根本没理解什么是maven。我使用中根本没遇到你提到的疑问
jsp编译class是什么鬼。没看懂,JSP不需要什么编译,这是容器的事情。就算是你编译好了,你也脱离不了servlet容器,没多大意义。
至于你说的,发布前要把js minify,请问用mvn怎么做?
这根本就不叫事儿。maven搭配NPM和最热的vue前端框架整合在一起搞事,也不算啥事。Java开发的系统和工具,如果连这点扩展性都不到,还配叫Java么,Java还配稳坐编程语言老大的位置么。。你说的东西maven当然支持啦!,看示例配置:
<!-- yuicompressor --> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>yuicompressor-maven-plugin</artifactId> <version>1.3.0</version> <executions> <execution> <phase>package</phase> <goals> <goal>compress</goal> </goals> <configuration> <includes> <include>js/*.js</include> <include>css/*.css</include> <include>activity/**/*.css</include> </includes> <excludes> <exclude>**/*.min.js</exclude> <exclude>**/*-min.js</exclude> </excludes> <encoding>utf8</encoding> <failOnWarning>false</failOnWarning> <nosuffix>true</nosuffix> <force>true</force> <removeIncluded>true</removeIncluded> <linebreakpos>-1</linebreakpos> </configuration> </execution> </executions> </plugin>
ant转maven不是分分钟的事情么,这种事情我干的不少,传统的没有任何包管理的全扔lib下的项目,200多个jar,我一天时间就能搞定。maven和某个号称最好的语言的包管理不同,maven对代码没有任何侵入性,代码一行改动都不需要,唯一需要的就是目录结构做轻微调整(甚至不调整也可以)。不存在你说的什么“重写”,真正的0侵入,反正就是不涉及任何代码修改,只需要配置下maven的POM而已。
maven本来就支持自定义目录结构啥的,只不过约定在先,你要不按你约定来也可以啊。
<build> <sourceDirectory>${basedir}/src/main/java</sourceDirectory> <scriptSourceDirectory>${basedir}/src/main/scripts</scriptSourceDirectory> <testSourceDirectory>${basedir}/src/test/java</testSourceDirectory> <outputDirectory>${basedir}/target/classes</outputDirectory> <testOutputDirectory>${basedir}/target/test-classes</testOutputDirectory> ... </build>
如果系统中有很多jar已经招不到maven坐标了,自己给它安一个坐标,上传到私服就能搞定。
一只斗牛犬
TA贡献1784条经验 获得超2个赞
maven的哲学是Convention over Configuration ,建议还是按照maven的标准来,不然还不如就继续用ant,这样的成本还低一些
添加回答
举报
0/150
提交
取消