`
leobluewing
  • 浏览: 241005 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

archetype:create-from-project生成项目的包名

 
阅读更多
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;

分享到:
评论
1 楼 yannanying 2015-03-15  
你好,我想问一下,为什么像xml等配置文件也会有这个东西,它会在项目里面打×,这该怎么办呢

相关推荐

    maven基础学习(四)-简单实例(使用Archetype生成项目骨架)

    2. 打包成Archetype:使用`mvn archetype:create-from-project`命令,将模板项目转换为Archetype。 3. 发布Archetype:将生成的Archetype发布到私有或公共仓库,以便其他开发者使用。 五、实际应用 在实际工作中,...

    archetype-catalog.xml

    对于自定义Archetype,你需要编写自己的`pom.xml`和`archetype-resources`目录结构,然后使用`mvn archetype:create-from-project`命令将当前项目打包成一个新的Archetype。 总的来说,`archetype-catalog.xml`是...

    maven archetye 路径

    - 使用`mvn archetype:create-from-project`命令可以从现有项目创建一个Archetype,然后可以对其进行定制和发布到本地或远程仓库。 - 在`archetype-metadata.xml`文件中定义变量,这些变量在生成项目时会提示用户...

    SpringMVC精品资源--maven之自定义archtype生成自定义项目骨架 1.该项目是一个自定义的arch.zip

    4. **打包Archetype**:使用`mvn archetype:create-from-project`命令将你的archetype项目打包成一个jar文件,这个jar就是你的自定义archetype。 5. **发布Archetype**:将生成的jar文件上传到你的Maven仓库,这样...

    sprout:Sprout 收集有用且有趣的 Maven 原型

    原型模板是 maven 项目,可用于通过使用maven-archetype-plugin的create-from-project目标来派生原型。 所以这是一个maven项目,生成maven原型,以后可以用来生成更多的maven项目。总目录javafx8-archetype JavaFX ...

    maven分层次项目模板构建步骤

    mvn archetype:create-from-project ``` 这将在`target/generated-sources/archetype`目录下生成模板文件。 5. **安装模板到本地仓库** 执行`mvn install`命令,将模板安装到本地Maven仓库中: ``` mvn ...

    spring-boot-shiro-orient-ionic

    Sprint Boot子+四郎+东方+离子 库: Sprint Boot OrientDB(通过Spring Data进行远程对象持久化) Apache Shiro(基于OrientDB的授权领域的会话管理) ...mvn archetype:create-from-project 将原型安装到本地存储

    quickpb.rar

    Maven,一个强大的Java项目管理工具,能够帮助开发者管理项目的构建、依赖和配置,同时也提供了生成项目模板的功能,极大地提高了开发效率。 在Maven中,`create-from-project`命令是一个实用工具,它允许我们将...

    guice-jaxrs-nashorn-prototype

    jersey-guice-bootstrap 带有 Jersey 1.18.1 和 Google Guice 3.0 的 RESTful Web 服务应用程序示例项目 ...生成原型: mvn archetype:create-from-project 转到target/generated-sources/archetype并运

    icpak:ICPAK服务

    jersey-guice-bootstrap 带有 Jersey 1.18.1 和 Google Guice 3.0 的 RESTful Web 服务应用程序示例项目 ...生成原型: mvn archetype:create-from-project 转到target/generated-sources/archetype并运

    maven制作模板,发布到本地和远程

    3. **使用 Archetype 模板生成项目:** 使用已安装的模板来生成新的 Maven 项目: ```shell mvn archetype:generate -DarchetypeCatalog=local ``` `-DarchetypeCatalog=local` 表示从本地仓库加载模板。执行该...

    maven自定义catalog

    这通常涉及编写一个基础项目,然后使用`mvn archetype:create-from-project`命令将其转换为Archetype。这个Archetype将包含你想要在新项目中重复使用的结构和配置。 2. **编辑archetype-catalog.xml**: 接下来,你...

    maven 逆向逆向工程

    6. **命令行使用**:执行Maven逆向工程通常需要在命令行中使用特定的命令,例如`mvn archetype:create-from-project`。这个命令会根据当前项目生成一个archetype,从而可以创建与之类似的全新项目。 7. **集成开发...

    maven搭建模块工程

    1. **初始化父模块**:使用`mvn archetype:create-from-project`命令或者在IDEA等集成环境中,从现有项目创建父模块。在pom.xml中,设置`<packaging>`为`pom`,并添加子模块的`<modules>`标签,例如: ```xml ...

    ssh-idea-maven-create.docx

    3. 勾选“Create from archetype”,然后选择“webapp”模板以创建Web项目。 4. 输入项目信息,如GroupId、ArtifactId、Version等,并点击“Next”。 5. 指定Maven的安装路径和settings.xml文件位置,以及本地仓库的...

    maven-plugin

    1. **选择插件骨架**:使用`mvn archetype:create-from-project`命令生成插件骨架。 2. **编写插件代码**:实现插件的目标函数和逻辑。 3. **打包和部署**:使用Maven打包插件,如`mvn clean install`,将插件部署到...

    Intellij Idea Spring MVC环境搭建

    - 在创建项目界面中,选择Java -> Maven -> Create from Archetype,然后选择`maven-archetype-webapp`。 - 填写项目的基本信息,包括Group Id、Artifact Id等,并点击“Next”直至完成。 - 修改Project Name为`...

    使用Idea14.1.4和maven创建java web项目

    2. 选择“Create from archetype”,然后选择“maven-archetype-webapp”作为项目模板。 ##### 3.3 配置项目基本信息 1. **配置GroupId和ArtifactId**: - GroupId:通常表示公司的域名倒序(例如com.example)。...

Global site tag (gtag.js) - Google Analytics