[JAVA] Versuchen Sie es mit Maven

Überblick

Was ist Maven? Also habe ich beschlossen, es zu untersuchen und zu benutzen. Persönliche Notizen.

Was ist Maven?

Ich habe folgendes gelesen. http://d.hatena.ne.jp/keyword/Maven https://kengotoda.gitbooks.io/what-is-maven/content/preface.html

Build-Tools Sie können problemlos Projekte erstellen und bereitstellen, Testberichte erstellen usw., ohne build.xml wie Apache Ant selbst schreiben zu müssen.

Ich habe Java noch nie verwendet, daher habe ich mich für Maven entschieden, um es als Java-Studie auszuführen.

Voraussetzungen

Installationsverfahren

$ 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"

Projekterstellung

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

Generierte pom.xml

pom.xml ist eine wichtige Datei mit Informationen zum Projekt. Beispielsweise enthält es Informationen zum Erstellen eines Projekts, Informationen zu abhängigen Bibliotheken, Plug-In-Einstellungen usw.

Referenz 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>

Platzieren Sie die Quelle

$ 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.");
    }
}

Quellcode erstellen

Das Zielverzeichnis wird beim Erstellen erstellt

$ 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

Quellausführung

$ java hello.world.HelloWorld

Passend 1

Wenn Sie das Paket ~~~ in die Java-Quelle schreiben, Es musste mit dem Paket abgeglichen werden, das zur Laufzeit angegeben wurde, als Mavens Projekt erstellt wurde.

Passend 2

Es hat nicht funktioniert, als ich die generierte Quelle ausgeführt habe. Infolgedessen war der Ausführungsort von Java nicht gut.

In diesem Fall war es hello.world als Paket. Der Ausführungsort war wie folgt.

$ pwd
/root/helloworld/target/classes

$ java hello.world.HelloWorld
Hello, world.

Passend 3

Obwohl es nicht die in diesem Beispiel angegebene Quelle ist Durch die Verwendung von Try-with-Resources in der Quelle zum Erstellen, Es gab ein Problem, dass ich es nicht gut bauen konnte. Try-with-Resources wurde aus Java 7 implementiert, aber jetzt ist es Java 8 Ich habe mich gefragt, warum es nicht funktioniert hat. .. ..

Als Lösung musste ich Ihnen ausdrücklich sagen, dass Sie beim Erstellen des Projekts mit Java 8 erstellen sollen.

Ich bezog mich auf Folgendes. http://qiita.com/mkamotsu/items/98c6d721a87a74f2b36f http://d.hatena.ne.jp/Kazuhira/20151010/1444479555

Recommended Posts

Versuchen Sie es mit Maven
Versuchen Sie es mit libGDX
Versuchen Sie es mit powermock-mockito2-2.0.2
Versuchen Sie es mit GraalVM
Versuchen Sie es mit jmockit 1.48
Versuchen Sie es mit SwiftLint
Versuchen Sie es mit Log4j 2.0
Versuchen Sie es mit dem Axon Framework
Versuchen Sie es mit der REST-API von JobScheduler
Versuchen Sie es mit der Methode java.lang.Math
Versuchen Sie es mit der WhiteBox von PowerMock
Versuchen Sie es mit Talend Teil 2
Versuchen Sie es mit Talend Teil 1
Versuchen Sie es mit der F # -Liste
Versuchen Sie es mit der Methode each_with_index
Versuchen Sie es mit Spring JDBC
Maven
Versuchen Sie es mit RocksDB mit Java
Versuchen Sie es mit GloVe mit Deeplearning4j
Versuchen Sie, mit Java zu kratzen [Hinweis]
Versuchen Sie es mit Cocoa von Ruby
Versuchen Sie gRPC mit Java, Maven
Versuchen Sie es mit IntelliJ IDEA, da Sie dies nur einmal tun müssen
Versuchen Sie es mit Spring Boot Security
[Rails] Versuchen Sie, Faradays Middleware zu verwenden
[Verarbeitung] Versuchen Sie es mit GT Force.
[Vollständige Programmierung] §2 Versuchen Sie es mit Ruby
Probieren Sie Redmine auf dem Mac Docker aus
Versuchen Sie es mit Redis mit Java (jar)
[Java] Versuchen Sie, mithilfe von Generika zu implementieren
Versuchen Sie es mit dem Nachrichtensystem Pulsar
Versuchen Sie es mit der IBM Java-Methodenverfolgung
Versuchen Sie es mit dem Java SDK von Hyperledger Iroha
[Java] Wo haben Sie versucht, Java zu verwenden?
Überprüfen Sie den Betrieb mit dem Steg mit Maven.
Probieren Sie HiveRunner aus
Versuchen Sie, den Dienst auf Android Oreo zu verwenden
Versuchen Sie es mit der Stream-API in Java
Versuchen Sie es mit Mockito
Java lernen Versuchen Sie es mit einem Scanner oder einer Karte
Versuchen Sie es mit Selen
Versuchen Sie es mit der JSON-Format-API in Java
Versuchen Sie es mit DbUnit
Versuchen Sie es mit Spring Boot mit VS-Code
Erstellen Sie in Eile ein Maven-Projekt mit dem Docker-Container von Maven
Maven lernen
Versuchen Sie es mit Reladomos MT Loader (Multi-Threaded Matcher Loader).
Versuchen Sie es mit der REST-API von JobScheduler - Java RestClient-Implementierung -
Versuchen Sie es mit der Emotion API von Android
Versuchen Sie es mit der Wii-Fernbedienung in Java
Versuchen Sie es mit Lombok
[Maven] Über Maven