[JAVA] Ein Memorandum Note, wenn Apache Maven auf einem internen Proxy ausgeführt wird

Es fiel mir schwer, Apache Maven (im Folgenden: Maven) in einer Umgebung mit einem internen Proxy auszuführen, daher möchte ich die Proxy-Einstellungsmethode als Memorandum zusammenfassen.

Was ist Apache Maven?

Es ist ein Build-Tool, das Bibliotheken in Java verwaltet, Projekte erstellt, Tests ausführt, bereitstellt usw. Ich verstehe, dass es GNU Make in C-Sprache entspricht.

Überprüfungsumgebung

Ubuntu 16.04.5 LTS

Apache Maven installieren

Installieren Sie Maven. Diese Überprüfung wird unter Ubuntu durchgeführt.


sudo apt install -y maven
Überprüfen Sie, ob die Installation erfolgreich abgeschlossen wurde

$ mvn -v
Apache Maven 3.3.9
Maven home: /usr/share/maven
Java version: 9-internal, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-9-openjdk-amd64
Default locale: ja_JP, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-137-generic", arch: "amd64", family: "unix"

Proxy-Einstellungen

Bearbeiten Sie `` `/ etc / maven / settings.xml```, wenn die interne Proxy-Wand steht

sudo vim /etc/maven/settings.xml
Beschreibungsbeispiel (Auszug der erforderlichen Teile)

<!-- proxies
 | This is a list of proxies which can be used on this machine to connect to the network.
 | Unless otherwise specified (by system property or command-line switch), the first proxy | specification in this list marked as active will be used.
 |-->
<proxies>
  <!-- proxy
   | Specification for one proxy, to be used in connecting to the network.
   |-->
  <proxy>
    <id>http_proxy</id>
    <active>true</active>
    <protocol>http</protocol>
    <username>USER_NAME</username>
    <password>PASSWD</password>
    <host>HOST</host>
    <port>PORT</port>
    <nonProxyHosts>NON_PROXY</nonProxyHosts>
  </proxy>
  <proxy>
    <id>https_proxy</id>
    <active>true</active>
    <protocol>https</protocol>
    <username>USER_NAME</username>
    <password>PASSWD</password>
    <host>HOST</host>
    <port>PORT</port>
    <nonProxyHosts>NON_PROXY</nonProxyHosts>
  </proxy>
</proxies>

Funktionsprüfung

Erstellen Sie ein Testprojekt, um den Betrieb des installierten Maven zu überprüfen. Wenn die Proxy-Einstellungen nicht korrekt abgeschlossen sind, tritt ein Ausführungsfehler auf und eine große Anzahl von Fehlern wird angezeigt.

Erstellen eines Testprojekts

Erstellen Sie ein Maven-Projekt zur Betriebsüberprüfung. Nennen Sie es "Test-App".

mvn archetype:generate
Erstellungsbeispiel

Choose archetype:
1: internal -> org.apache.maven.archetypes:maven-archetype-archetype (An archetype which contains a sample archetype.)
2: internal -> org.apache.maven.archetypes:maven-archetype-j2ee-simple (An archetype which contains a simplifed sample J2EE application.)
3: internal -> org.apache.maven.archetypes:maven-archetype-plugin (An archetype which contains a sample Maven plugin.)
4: internal -> org.apache.maven.archetypes:maven-archetype-plugin-site (An archetype which contains a sample Maven plugin site.
      This archetype can be layered upon an existing Maven plugin project.)
5: internal -> org.apache.maven.archetypes:maven-archetype-portlet (An archetype which contains a sample JSR-268 Portlet.)
6: internal -> org.apache.maven.archetypes:maven-archetype-profiles ()
7: internal -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)
8: internal -> org.apache.maven.archetypes:maven-archetype-site (An archetype which contains a sample Maven site which demonstrates
      some of the supported document types like APT, XDoc, and FML and demonstrates how
      to i18n your site. This archetype can be layered upon an existing Maven project.)
9: internal -> org.apache.maven.archetypes:maven-archetype-site-simple (An archetype which contains a sample Maven site.)
10: internal -> org.apache.maven.archetypes:maven-archetype-webapp (An archetype which contains a sample Maven Webapp project.)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 7:[Standard eingeben]
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.1/maven-archetype-quickstart-1.1.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.1/maven-archetype-quickstart-1.1.pom (2 KB at 2.4 
KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-bundles/4/maven-archetype-bundles-4.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-bundles/4/maven-archetype-bundles-4.pom (4 KB at 4.1 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/maven-archetype/2.0-alpha-5/maven-archetype-2.0-alpha-5.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetype/maven-archetype/2.0-alpha-5/maven-archetype-2.0-alpha-5.pom (9 KB at 32.5 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/16/maven-parent-16.pom
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/16/maven-parent-16.pom (23 KB at 45.1 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.1/maven-archetype-quickstart-1.1.jar
Downloaded: https://repo.maven.apache.org/maven2/org/apache/maven/archetypes/maven-archetype-quickstart/1.1/maven-archetype-quickstart-1.1.jar (7 KB at 23.9 KB/sec)
Define value for property 'groupId': com.test
Define value for property 'artifactId': test-app
Define value for property 'version' 1.0-SNAPSHOT: :[Standard eingeben]
Define value for property 'package' com.test: :[Standard eingeben]
Confirm properties configuration:
groupId: com.test
artifactId: test-app
version: 1.0-SNAPSHOT
package: com.test
 Y: : y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.1
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: basedir, Value: /home/user
[INFO] Parameter: package, Value: com.test
[INFO] Parameter: groupId, Value: com.test
[INFO] Parameter: artifactId, Value: test-app
[INFO] Parameter: packageName, Value: com.test
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: /home/user/test-app
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:15 min
[INFO] Finished at: 2020-03-19T09:24:46+09:00
[INFO] Final Memory: 19M/64M
[INFO] ------------------------------------------------------------------------

Referenz: Was tun, wenn Sie Maven nicht intern von einem externen Maven-Repository-Server herunterladen können

Zusammenfassung

Das OSS, das ich ausprobieren wollte, wurde in Java implementiert und im Status des Maven-Projekts verteilt. Daher habe ich Maven installiert. Wie erwartet wurde es jedoch vom internen Proxy blockiert und der Build blieb zunächst nicht erhalten. Die Einstellungen für den Proxy unterscheiden sich je nach Anwendung. Daher hielt ich es für erforderlich, eine Notiz zu führen, sobald sie behoben wurde.

Reference [Einführung in Java Build Tools Maven / Gradle / SBT / Bazel-kompatibel (geschrieben von Tsuyano Palma; Hidekazu System; 2017)](https://www.amazon.co.jp/Java80-Maven-Gradle-SBT-Bazel9C- ebook / dp / B079Z1PG6C / ref = tmm_kin_swatch_0? _ Encoding = UTF8 & qid = 1567397583 & sr = 8-1) https://www.codeflow.site/ja/article/maven__how-to-install-maven-in-ubuntu

Recommended Posts

Ein Memorandum Note, wenn Apache Maven auf einem internen Proxy ausgeführt wird
Erstellen Sie ein internes Maven-Repository in Google Cloud Storage
Wenn Maven von einem Firmenproxy blockiert wird und nicht funktioniert
[Abgelehnt] Ein Memorandum, da während der Bereitstellung in Heroku ein Fehler aufgetreten ist
Lassen Sie Apache und Tomcat unter CentOS 8 im Handumdrehen zusammenarbeiten
[Nicht autorisierter Vorgang] Ein Memorandum, da beim Erstellen einer EC2-Instanz ein Fehler aufgetreten ist.
Ein Memorandum, in dem IME nicht mit VS Code aktiviert werden kann (Ubuntu 20.04)
Ein Memorandum zur Verwendung von Eclipse
Erstellen Sie ein Maven-Repository in AWS S3
Relativer Pfad beim Ausführen von Tomcat unter Eclipse
Eine Erinnerung, wenn ein aapt.exe-Fehler auftritt