为了账号安全,请及时绑定邮箱和手机立即绑定

有几个问题想问,看了文档也无果

有几个问题想问,看了文档也无果

慕莱坞森 2023-03-31 18:14:02
现在项目是 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坐标了,自己给它安一个坐标,上传到私服就能搞定。


查看完整回答
反对 回复 2023-04-03
?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

maven的哲学是Convention over Configuration ,建议还是按照maven的标准来,不然还不如就继续用ant,这样的成本还低一些

查看完整回答
反对 回复 2023-04-03
  • 2 回答
  • 0 关注
  • 151 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信