• java maven笔记


    idea 开发平台

    idea的配置参照:https://blog.csdn.net/qq_36698956/article/details/86571425

    1、创建meavn项目

     1.1 archetype模板

    新建Maven project项目时,需要选择archetype,archetype模板很多,一般大部分通用以下模板原型:

    1、cocoon-22-archetype-webapp

    包含了applicationContext.xml、log4j.xml、web.xml、pom.xml

    2、maven-archetype-quickstart

    除了pom.xml外,没有其他的xml了,但是有main、test两个包,包里放了一个App、AppTest类pom.xml

    3、maven-archetype-webapp

    有WEB-INF目录,并且有web.xml和一个index.jsp

    具体如下:

    maven提供的41个骨架原型分别是:

    1: appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型) 
    2: appfuse-basic-spring(创建一个基于Hibernate,Spring和Spring MVC的Web应用程序的原型) 
    3: appfuse-basic-struts(创建一个基于Hibernate,Spring和Struts 2的Web应用程序的原型) 
    4: appfuse-basic-tapestry(创建一个基于Hibernate,Spring 和 Tapestry 4的Web应用程序的原型) 
    5: appfuse-core(创建一个基于Hibernate,Spring 和 XFire的jar应用程序的原型) 
    6: appfuse-modular-jsf(创建一个基于Hibernate,Spring和JSF的模块化应用原型) 
    7: appfuse-modular-spring(创建一个基于Hibernate, Spring 和 Spring MVC 的模块化应用原型) 
    8: appfuse-modular-struts(创建一个基于Hibernate, Spring 和 Struts 2 的模块化应用原型) 
    9: appfuse-modular-tapestry (创建一个基于 Hibernate, Spring 和 Tapestry 4 的模块化应用原型) 
    10: maven-archetype-j2ee-simple(一个简单的J2EE的Java应用程序) 
    11: maven-archetype-marmalade-mojo(一个Maven的 插件开发项目 using marmalade) 
    12: maven-archetype-mojo(一个Maven的Java插件开发项目) 
    13: maven-archetype-portlet(一个简单的portlet应用程序) 
    14: maven-archetype-profiles() 
    15:maven-archetype-quickstart() 
    16: maven-archetype-site-simple(简单的网站生成项目) 
    17: maven-archetype-site(更复杂的网站项目) 
    18:maven-archetype-webapp(一个简单的Java Web应用程序) 
    19: jini-service-archetype(Archetype for Jini service project creation) 
    20: softeu-archetype-seam(JSF+Facelets+Seam Archetype) 
    21: softeu-archetype-seam-simple(JSF+Facelets+Seam (无残留) 原型) 
    22: softeu-archetype-jsf(JSF+Facelets 原型) 
    23: jpa-maven-archetype(JPA 应用程序) 
    24: spring-osgi-bundle-archetype(Spring-OSGi 原型) 
    25: confluence-plugin-archetype(Atlassian 聚合插件原型) 
    26: jira-plugin-archetype(Atlassian JIRA 插件原型) 
    27: maven-archetype-har(Hibernate 存档) 
    28: maven-archetype-sar(JBoss 服务存档) 
    29: wicket-archetype-quickstart(一个简单的Apache Wicket的项目) 
    30: scala-archetype-simple(一个简单的scala的项目) 
    31: lift-archetype-blank(一个 blank/empty liftweb 项目) 
    32: lift-archetype-basic(基本(liftweb)项目) 
    33: cocoon-22-archetype-block-plain([http://cocoapacorg2/maven-plugins/]) 
    34: cocoon-22-archetype-block([http://cocoapacorg2/maven-plugins/]) 
    35:cocoon-22-archetype-webapp([http://cocoapacorg2/maven-plugins/]) 
    36: myfaces-archetype-helloworld(使用MyFaces的一个简单的原型) 
    37: myfaces-archetype-helloworld-facelets(一个使用MyFaces和Facelets的简单原型) 
    38: myfaces-archetype-trinidad(一个使用MyFaces和Trinidad的简单原型) 
    39: myfaces-archetype-jsfcomponents(一种使用MyFaces创建定制JSF组件的简单的原型) 
    40: gmaven-archetype-basic(Groovy的基本原型) 
    41: gmaven-archetype-mojo(Groovy mojo 原型)

    1.2 GroupID和ArtifactID

      GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构

      ArtifactID就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。
    一般GroupID就是填com.leafive.test这样子。

      GroupId和ArtifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。 
      GroupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。举个apache公司的tomcat项目例子:这个项目的GroupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,ArtifactId是tomcat。 
      比如我创建一个项目,我一般会将GroupId设置为cn.mht,cn表示域为中国,mht是我个人姓名缩写,ArtifactId设置为testProj,表示你这个项目的名称是testProj,依照这个设置,在你创建Maven工程后,新建包的时候,包结构最好是cn.zr.testProj打头的,如果有个StudentDao[Dao层的],它的全路径就是cn.zr.testProj.dao.StudentDao

    1.3 idea创建maven项目没有src和test文件夹的问题解决

    要创建一个maven项目, 首先要在默认设置中修改VM options:-DarchetypeCatalog=internal

    建议在启动idea 创建项目的时候去setting,这样保证全局,而非单个项目应用。

     将会出现:

    1.3 .iml文件和.idea文件夹

    使用IDEA创建一个maven工程,目录结构中会产生了两个不一样的东西——分别是 .iml文件和.idea文件夹。

    iml是 intellij idea的工程配置文件,里面是当前project的一些配置信息。

    .Idea存放项目的配置信息,包括历史记录,版本控制信息等,可以不理会。

    1.4 idea没法识别java文件,无法进行编译,idea文件左下角有个j的符号

    解决方案如下:

    1.打开idea左上方file
    2.选择project Sturcture
    3.在选择选择左侧树中的modules右侧点击source

    找到带j符合的文件夹,进行选择后进行确认保存,在此启动项目就ok。

    点击source 选中都文件夹会变色,表示已加载,看右边都Source Folders显示加载

    打开IDEA 创建一个新的java项目(maven)后无法在里面的module中创建相应的java class文件

    解决方案:

    (1)选择 File——>Project Structure——>Project Settings——>Modules:也可以直接 【Project Structure】

    • Sources 一般用于标注类似 src 这种可编译目录。有时候我们不单单项目的 src 目录要可编译,还有其他一些特别的目录也许我们也要作为可编译的目录,就需要对该目录进行此标注。只有 Sources 这种可编译目录才可以新建 Java 类和包
    • Tests 一般用于标注可编译的单元测试目录。在规范的 maven 项目结构中,顶级目录是 src,maven 的 src 我们是不会设置为 Sources 的,而是在其子目录 main 目录下的 java 目录,我们会设置为 Sources。而单元测试的目录是 src - test - java,这里的 java 目录我们就会设置为 Tests,表示该目录是作为可编译的单元测试目录。一般这个和后面几个我们都是在 maven 项目下进行配置的,但是我这里还是会先说说。从这一点我们也可以看出 IntelliJ IDEA 对 maven 项目的支持是比彻底的。
    • Resources 一般用于标注资源文件目录。在 maven 项目下,资源目录是单独划分出来的,其目录为:src - main -resources,这里的 resources 目录我们就会设置为 Resources,表示该目录是作为资源目录。资源目录下的文件是会被编译到输出目录下的。
    • Test Resources 一般用于标注单元测试的资源文件目录。在 maven 项目下,单元测试的资源目录是单独划分出来的,其目录为:src - test -resources,这里的 resources 目录我们就会设置为 Test Resources,表示该目录是作为单元测试的资源目录。资源目录下的文件是会被编译到输出目录下的。
    • Excluded 一般用于标注排除目录。被排除的目录不会被 IntelliJ IDEA 创建索引,相当于被 IntelliJ IDEA 废弃,该目录下的代码文件是不具备代码检查和智能提示等常规代码功能。
    • 通过上面的介绍,我们知道对于非 maven 项目我们只要会设置 src 即可。

     (2)选择该项目的java存放的文件夹,将其设置为源文件,apply即可

    1.4  项目启动

    1.Add Configuration  -> add -> Application

    填写 Name 和 Main class

     配置好后再启动。

    IDEA创建main函数快捷方法

    输入psvm 也就是public static void main的首字母 即可

    System.out.println();快捷方法

    就是sout

  • 相关阅读:
    用同余理解补码
    objenesis
    spring 事务处理
    SOCKS5 协议解析
    WebSocket 的鉴权授权方案
    加密解密基础问题:字节数组和16进制字符串的相互转换
    主机字节序 与 网络字节序
    RSA 理论
    分类算法----k近邻算法
    R语言统计分析应用与SAS、SPSS的比较
  • 原文地址:https://www.cnblogs.com/zjtao/p/12110728.html
Copyright © 2020-2023  润新知