Qu'est-ce que Maven? J'ai donc décidé d'enquêter et de l'utiliser. Notes personnelles.
J'ai lu ce qui suit. http://d.hatena.ne.jp/keyword/Maven https://kengotoda.gitbooks.io/what-is-maven/content/preface.html
Outils de création Vous pouvez facilement créer et déployer des projets, générer des rapports de test, etc. sans avoir à écrire vous-même build.xml comme Apache Ant.
Je n'ai jamais utilisé Java, j'ai donc décidé d'utiliser Maven pour l'exécuter comme une étude de Java.
$ wget http://ftp.jaist.ac.jp/pub/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz
$ tar xvzf apache-maven-3.3.9-bin.tar.gz
$ mv apache-maven-3.3.9 /usr/local/
$ ln -s /usr/local/apache-maven-3.3.9/bin/mvn /usr/local/bin/mvn
$ mvn --version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
Maven home: /usr/local/apache-maven-3.3.9
Java version: 1.8.0_111, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-1.b15.el7_2.x86_64/jre
Default locale: en_US, platform encoding: ANSI_X3.4-1968
OS name: "linux", version: "4.4.27-boot2docker", arch: "amd64", family: "unix"
mvn archetype:generate -DinteractiveMode=false \
-DarchetypeGroupId=pl.org.miki \
-DarchetypeArtifactId=java8-quickstart-archetype \
-DgroupId=hello.world \
-DartifactId=helloworld \
-Dversion=1.0-SNAPSHOT \
-Dpackage=hello.world \
-Dpackaging=jar
$ tree helloworld/
helloworld/
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- hello
| `-- world
`-- test
`-- java
`-- hello
`-- world
9 directories, 1 file
pom.xml est un fichier important contenant des informations sur le projet. Par exemple, il contient des informations sur la création d'un projet, des informations sur les bibliothèques dépendantes, les paramètres de plug-in, etc.
référence http://www.techscore.com/tech/Java/ApacheJakarta/Maven/2-2/#maven-2-4
<?xml version="1.0" encoding="UTF-8"?>
<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>hello.world</groupId>
<artifactId>helloworld</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
$ pwd
/root/helloworld/src/main/java/hello/world
$ cat HelloWorld.java
package hello.world;
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello, world.");
}
}
Le répertoire cible est créé lorsque vous créez
$ cd helloworld
$ mvn compile
$ tree helloworld/
helloworld/
|-- pom.xml
|-- src
| |-- main
| | `-- java
| | `-- hello
| | `-- world
| | `-- HelloWorld.java
| `-- test
| `-- java
| `-- hello
| `-- world
`-- target
|-- classes
| `-- hello
| `-- world
| `-- HelloWorld.class
|-- generated-sources
| `-- annotations
`-- maven-status
`-- maven-compiler-plugin
`-- compile
`-- default-compile
|-- createdFiles.lst
`-- inputFiles.lst
19 directories, 5 files
$ java hello.world.HelloWorld
Si vous écrivez le package ~~~ dans le source Java, Il devait être mis en correspondance avec le package spécifié au moment de l'exécution lorsque le projet de Maven a été créé.
Cela n'a pas fonctionné lorsque j'ai exécuté la source générée. En conséquence, l'emplacement d'exécution de java n'était pas bon.
Dans ce cas, c'était hello.world en tant que package. Le lieu d'exécution était le suivant.
$ pwd
/root/helloworld/target/classes
$ java hello.world.HelloWorld
Hello, world.
Bien que ce ne soit pas la source donnée dans cet exemple En utilisant try-with-resources dans la source à construire, Il y avait un problème que je ne pouvais pas bien construire. try-with-resources a été implémenté à partir de Java 7, mais maintenant c'est Java 8 Je me demandais pourquoi cela ne fonctionnait pas. .. ..
Donc, comme solution, je devais vous dire explicitement de construire avec Java 8 lors de la création du projet.
J'ai évoqué ce qui suit. http://qiita.com/mkamotsu/items/98c6d721a87a74f2b36f http://d.hatena.ne.jp/Kazuhira/20151010/1444479555
Recommended Posts