maven里面可以用archetype:create-from-project生成项目骨架,但是包名往往有点问题。
create-from-project命令会去寻找一个包含所有文件的目录路径作为基础包。
比如如下的项目骨架:
src/main/java/
com.company.proid.dao
com.company.proid.service
com.company.proid.web
这样的话,利用create-from-project命令,默认的基础包就会是com.company.proid
比如在com.company.proid.dao包下有一个文件为 baseDao.java,那么生成模板以后,包就会是
package ${package}; 也就是说所有的 ${package} = com.company.proid.
也就是生成的模板里面,src/main/java/ 下直接是一个dao文件夹,一个service文件夹,一个web文件夹。
这样在不需要分业务包的时候没问题,但是如果你的项目骨架是这样的话:
src/main/java/
com.company.proid.moduels.sys
com.company.proid.moduels.sys.dao
com.company.proid.moduels.sys.service
com.company.proid.moduels.sys.web
也就是说model.sys包内是你已经写好的一个完整的功能包,你想放到骨架里面,这个时候直接用archetype:create-from-project命令的话,默认的基础包会变成com.company.proid.moduels.sys。
也就是在模板内, src/main/java下面moduels和sys文件夹就没了。
生成的模板包头如下:
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
package ${package}.dao;
src/main/java/ 下还是一个dao文件夹,一个service文件夹,一个web文件夹。
这样的话,事实上我们可能要生成的实际项目路径如下:
src/main/java/
com.company.proid.moduels.user
com.company.proid.moduels.user.dao
com.company.proid.moduels.user.service
com.company.proid.moduels.user.web
com.company.proid.moduels.sys
com.company.proid.moduels.sys.dao
com.company.proid.moduels.sys.service
com.company.proid.moduels.sys.web
当然在实际使用的时候,应该也没什么关系,大不了再建包,把moduels和sys建出来再重新弄一下也就是了,不过总是不是很完美。
所以需要告诉create-from-project 命令项目的基础包是什么。
用packageName即可:
archetype:create-from-project -DpackageName=com.company.proid
告诉它,我们需要保留moduels和sys文件夹。
这样执行命令以后,生成的模板即为:
src/main/java/modules/sys
和dao,service.web文件夹
生成的文件包头如下:
#set( $symbol_pound = '#' )
#set( $symbol_dollar = '$' )
#set( $symbol_escape = '\' )
package ${package}.modules.sys.dao;
分享到:
相关推荐
解决Unable to create project from archetype [org.apache.maven.archetypes:maven-archetype-quickstart:1.1] 1. 下载maven-archetype-quickstart-1.1.jar 文件地址: 2.cmd窗口执行mvn install:install-file -...
maven-archetype-quickstart-1.1.jar包下载
maven-archetype-webapp-1.0.jar,下载,如果有需要的同志可以自己下载,。
java8集合源码Maven-原型-项目 Maven Archetype 可供参考的项目 选择原型:1:remote -> am.ik.archetype:elm-spring-boot-blank-archetype(Spring Boot + Elm 的空白多项目) 2:remote -> am.ik.archetype:...
【在本地库中装载maven-archetype-quickstart】 1. 下载该文件 2. 打开cmd窗口,执行mvn install:install-file -DgroupId=org.apache.maven.archetypes -DartifactId=maven-archetype-quickstart -Dversion=1.1 -...
新建maven项目失败,不能下载maven-archetype-webapp-1.0.jar包
在使用maven命令创建maven项目时候执行到Generating Project in Batch mode 卡住,是因为要下载archetype-catalog.xml(4M)文件,可以单独下载后使用-DarchetypeCatalog=local引用本地下载的文件,需要将archetype-...
介绍该原型生成了一个带有Selenium WebDriver和TestNG的小型Maven项目,使您可以轻松地开始使用Selenium WebDriver开发测试。 要将原型安装在本地存储库中,请执行以下操作: git clone git://github....
piggsoft-spring Spring MVC Maven archetype Spring MVC Maven 模板文件 ...mvn clean archetype:create-from-project & cd target/generated-sources/archetype/ & mvn clean install & cd D:/ & mvn archetype:
更新了配置jdk1.8,web.xml为4.0
2021-10-28官网下载archetype-catalog.xml。(maven项目快速搭建,缺少这个文件时,提示maven-archetype-webapp could not resolve archetpye)
在使用maven命令创建maven项目时候执行到Generating Project in Batch mode 卡住,是因为要下载archetype-catalog.xml文件,可以单独下载后使用-DarchetypeCatalog=local引用本地下载的文件,需要将archetype-...
sshoogr-gradle.zip,用于处理远程ssh服务器的gradle插件。用于处理远程ssh服务器的gradle插件。
maven-archetype-3.1.2-source-release,
* 先用命令建一个Web项目:mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-webapp -DarchetypeArtifactId=maven-archetype-webapp * 然后建一个Ecllipse项目:my-webapp>mvn eclipse:eclipse ...
亲测实用,新建maven项目失败需要的jar包,maven-archetype-quickstart-1.1.jar
创建一个工程后,在工程中使用mvn archetype:create-from-project,maven会将当前工程作为一个骨架工程,在target/generated-sources/archetype 生成相应的骨架目录,前往生成的archetype目录,执行mvn isntall ...
Eclipse Maven 创建Web 项目报错 Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap 之前找了很久才找到了,传上来更大家共享下,希望对大家有帮助,欢迎下载或者永久保存。
生产archetype模板参考:mvn clean archetype:create-from-project -Dinteractive=truecd target/generated-sources/archetype/mvn installmvn archetype:crawl使用archetype模板mvn archetype:generate -...