关于 maven 项目的构建

来源:互联网 发布:C语言笔记图片 编辑:程序博客网 时间:2024/05/16 14:40
  • maven 项目是基于约定的。项目的源代码如果不设置的话,会放在 src/main/java 目录下,项目的测试代码如果不设置的话,会放在 src/test/java 目录下,在 main/java/src 下的源文件依赖的 scope 是 compile,在 main/test/src 下的源文件依赖的 scope 是 compile, test。

  • 说完这些,我们来实践一下:

首先,我有一个文件夹(root)来存放 pom.xml 文件,然后我就在该文件夹下新建文件夹 src/main/java 和文件夹 src/test/java 目录。

然后定义 pom.xml 文件为如下代码:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.sinaapp.ibmeye</groupId>  <artifactId>utils</artifactId>  <version>1.0</version>  <packaging>jar</packaging>  <name>utils</name>  <url>http://maven.apache.org</url>  <properties>    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>  </properties>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency>  </dependencies></project>

然后,就可以在 src/main/java 文件夹下放我们想要编译的代码了。比如,我们想编译一个在包 com.sinaapp.ibmeye.utils 下的类 HelloWorld,那么我们就可以在 src/main/java 文件下建立 com/sinaapp/ibmeye/utils 目录,然后在该目录下建立一个 HelloWorld.java 的文件。代码如下:

package com.sinaapp.ibmeye.utils;public class HelloWorld{    public static void main(String[] args){        System.out.println("good morning");    }}

就在这个时候,我们可以在项目(utils)目录下,运行 mvn clean compile,然后,就会在我们的项目目录下,出现一个target文件夹,这个文件夹中就存在着我们编译好的文件,其建立的目录就是我们的包名。

刚才我们运行的编译,就相当于,在我们的项目目录下运行,javac -d target\classes\ src\main\java\com\sinaapp\ibmeye\utils\HelloWorld.java

这里的 javac 的 -d 参数表示类生成的目录,这里有个很有意思的东西,就是假如你不指定 -d,那么javac会默认你的源代码就在合适的包路径下,编译的时候javac会将生成的类文件直接放在与源文件相同的目录下,如果指定了 -d 那么,那么在 -d 的目录下,javac 会生成包含包路径的类。

0 0
原创粉丝点击