Dies ist das Verfahren für Java-Anfänger, um ein Programm mit Intellij zu erstellen, es zu verpacken und etwas zu erstellen, das vorerst funktioniert.
Dieses Mal werden wir ein Programm erstellen, das nur den Inhalt des Titels auf der obersten Seite von Keta erfasst. Anstatt Java zu studieren, ist es eher ein Tutorial zum Verständnis des Ablaufs der Java-Entwicklung.
Bitte laden Sie jdk und Intellij über den obigen Link herunter und installieren Sie es.
Klicken Sie nach dem Start von Intellij auf "Neues Projekt erstellen"
Wählen Sie "Maven" und klicken Sie auf "Weiter"
Geben Sie die folgenden Werte ein und klicken Sie auf "Weiter"
Artikel | Wert |
---|---|
GroupId | jp.sample |
ArtifactId | sample-artifact |
Version | Standard |
Geben Sie den Projektnamen und den Speicherort ein, an dem Sie die Projektdatei ablegen möchten, und klicken Sie auf "Fertig stellen"
Wenn der folgende Bildschirm angezeigt wird, ist er erfolgreich.
Datei für das Projektmanagement. Ist es so etwas wie ein Gemfile in Rails?
Erstellen Sie mit den folgenden Inhalten.
pom.xml
<?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>jp.sample</groupId>
<artifactId>sample-artifact</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>1.6</maven.compiler.source>
<maven.compiler.target>1.6</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.2</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<finalName>sample-${project.version}</finalName>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>jp.sample.Main</mainClass>
</manifest>
</archive>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Nach dem Hinzufügen zu pom.xml Wenn unten rechts "Maven-Projekte müssen importiert werden" angezeigt wird, klicken Sie auf "Auto-Import aktivieren"
dependencies Abhängige Bibliothekseinstellungen. Dieses Mal werden wir die folgenden Bibliotheken verwenden.
Bibliotheksname | Verwenden |
---|---|
Jsoup | Zum Schaben |
junit | zum Test |
properties Beschrieben, um die folgenden Fehler beim Erstellen zu vermeiden.
[ERROR] Source option 1.5 is no longer supported. Use 1.6 or later.
[ERROR] Target option 1.5 is no longer supported. Use 1.6 or later.
maven-assembly-plugin Ein Plug-In zum Erstellen eines Pakets, das alle Abhängigkeiten enthält. Geben Sie die Hauptklasse im Archiv-> Manifest an. Dadurch entfällt die Notwendigkeit von Manifest.MF.
<archive>
<manifest>
<mainClass>jp.sample.Main</mainClass>
</manifest>
</archive>
Erstellen Sie ein Programm zum Kratzen.
Erstellen Sie zunächst eine Java-Klasse.
Erstellen Sie eine Klasse mit dem Namen "Main".
Schreiben Sie nach der Erstellung Folgendes in Main.java.
Main.java
package jp.sample;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
final ScrapeService scrapeService = new ScrapeService();
System.out.println(scrapeService.getTitle());
}
}
Erstellen Sie ScrapeService.java auf die gleiche Weise. Es ist ein Programm, um den Titel Keta zu bekommen.
ScrapeService.java
package jp.sample;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import java.io.IOException;
public class ScrapeService {
private String url = "https://qiita.com/";
public String getTitle() throws IOException {
Document document = Jsoup.connect(url).get();
Elements title = document.select("title");
return title.text();
}
}
Öffnen Sie Main.java, klicken Sie auf die Wiedergabetaste links neben "public class Main {" und klicken Sie auf "Run'Main.main ()", um das Programm auszuführen.
Das folgende Ergebnis wird dann im folgenden Debugger angezeigt. Wenn der Titel von Keta angezeigt wird, ist er erfolgreich.
Schreiben Sie als nächstes den Testcode.
Öffnen Sie ScrapeService.java mit dem Cursor auf den Klassennamen "ScrapeService" und drücken Sie "Alt" + "Enter".
Dann wird, wie in der Abbildung unten gezeigt, die Option "Test erstellen" angezeigt. Klicken Sie darauf.
Dieses Mal werde ich JUnit4 verwenden. Wenn Sie eine Schaltfläche namens "FIX" sehen, klicken Sie darauf. Unter "Testmethoden generieren für:" finden Sie eine Liste testbarer Methoden. Überprüfen Sie diese und klicken Sie auf "OK".
Anschließend wird die Testcodedatei wie unten gezeigt erstellt.
Bearbeiten Sie es dann wie folgt.
LoginServiceTest.java
package jp.sample;
import org.junit.Test;
import java.io.IOException;
import static org.junit.Assert.assertEquals;
public class ScrapeServiceTest {
@Test
public void getTitle() throws IOException {
final ScrapeService scrapeService = new ScrapeService();
assertEquals("Qiita - A technical knowledge sharing platform for programmers.", scrapeService.getTitle());
}
}
Klicken Sie auf die Wiedergabetaste links neben "public class LoginServiceTest {" und klicken Sie auf "Run'Main.main ()", um den Test auszuführen.
Wenn es wie unten gezeigt im Debugger angezeigt wird, ist der Test erfolgreich.
build Erstellen und verpacken. Von hier an arbeiten Sie über die Befehlszeile und nicht mehr über Intellij.
Wechseln Sie in das Verzeichnis sampleartifact /, in dem sich pom.xml befindet, und führen Sie den folgenden Befehl aus:
$ mvn package
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running jp.sample.ScrapeServiceTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.786 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ sample-artifact ---
[INFO] Building jar: /Users/username/IdeaProjects/sampleartifact/target/sample-artifact-1.0-SNAPSHOT.jar
[INFO]
[INFO] --- maven-assembly-plugin:3.1.0:single (make-assembly) @ sample-artifact ---
[INFO] Building jar: /Users/username/IdeaProjects/sampleartifact/target/sample-1.0-SNAPSHOT-jar-with-dependencies.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.910 s
[INFO] Finished at: 2017-12-28T18:10:59+09:00
[INFO] Final Memory: 20M/67M
[INFO] ------------------------------------------------------------------------
In sampleartifact / target wurde eine JAR-Datei mit dem Namen "sample-1.0-SNAPSHOT-jar-with-dependencies.jar" generiert. Versuchen Sie also, sie auszuführen.
$ java -jar sample-1.0-SNAPSHOT-jar-with-dependencies.jar
Qiita - A technical knowledge sharing platform for programmers.
Wenn der Titel von Keta so angezeigt wird, ist er erfolgreich!
mvn install
mvn install
generiert eine Datei nicht nur unter target
, sondern auch im lokalen Repository unter ~ / .m2 /
.
$ mvn install
$ ls -1 -a ~/.m2/repository/jp/sample/sample-artifact/1.0-SNAPSHOT/
.
..
_remote.repositories
maven-metadata-local.xml
sample-artifact-1.0-SNAPSHOT-jar-with-dependencies.jar
sample-artifact-1.0-SNAPSHOT.jar
sample-artifact-1.0-SNAPSHOT.pom
Sie können es mit dem folgenden Befehl löschen. Es wird verwendet, um das Ziel zu leeren und es dann neu zu erstellen.
$ mvn clean
Recommended Posts