во втором редактировании вы должны добавить jdk к вашему пути сборки. Перейдите в windows-> Настройки-> Java-> Установленные jre и добавьте jdk, и проверьте его.
ю, что есть много вопросов с подобной ошибкой. Я был бы признателен, прежде чем в качестве дубликата принять во внимание, что это происходит только с Java 9.
У меня установлена Java 9
C:\_pocs\ws_j9\java9-http-client>java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
C:\_pocs\ws_j9\java9-http-client>echo %JAVA_HOME%
C:\Program Files\Java\jdk-9.0.1
Чтобы сделать простой пример, если я скачаю очень простой примерhttps://examples.javacodegeeks.com/core-java/java-9-httpclient-example/ и я пытаюсь /
mvn clean установить пакет -e
[ERROR] Failed to parse module-info:
[ERROR] With qdox: null
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.925 s
[INFO] Finished at: 2018-01-01T23:43:32+01:00
[INFO] Final Memory: 13M/44M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:testCompile (default-testCompile) on project http_client: Execution default-testCompile of goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:testCompile failed: Failed to parse module-info -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:testCompile (default-testCompile) on project http_client: Execution default-testCompile of goal org.apache.maven.plugins:maven-compiler-plugin:3.6.1:testCompile failed: Failed to parse module-info
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213)
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.javacodegeeks.java9</groupId>
<artifactId>http_client</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>Java9HttpClient</name>
<description>Java Http Client example</description>
<properties>
<java-version>1.9</java-version>
<maven-compiler-plugin-version>3.6.1</maven-compiler-plugin-version>
<maven-shade-plugin-version>3.0.0</maven-shade-plugin-version>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin-version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${maven-shade-plugin-version}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
<verbose>true</verbose>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>com.javacodegeeks.java9.http_client.Main</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Я немного запутался, что может быть причиной этой проблемы. Кроме того, я сталкиваюсь с еще одной проблемой, которая усложняет задачу для тех, кто пытается использовать Java 9 впервые: мой Eclipse неправильно принимает Java 9. Я попытался установить поддержку Java 9 в Eclipse Oxygen, которую я только что загрузил. это, но я получаю "Хранилище не найдено вhttp://download.eclipse.org/eclipse/updates/noneMsgstr "И я не могу заставить этот плагин mvn обновить версию Java до 9 (раньше она работала правильно для Java <1.8:
<properties>
<java-version>1.9</java-version>
...
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${java-version}</source>
<target>${java-version}</target>
<verbose>true</verbose>
</configuration>
</plugin>
Вот почему я пытаюсь скомпилировать straich из командной строки.
Я читал, что в Java 9 появилась новая концепция модульности, которая поможет нам лучше организовать пакеты, но я очень уверен, что это может побудить меня решить мою проблему. Это может быть какое-то очевидное решение, когда кто-то видит «Не удалось разобрать module-info», но я не могу себе представить ничего полезного, чтобы попробовать.
Мой прямой вопрос: что я могу проверить, чтобы скомпилировать? Также будет полезен дополнительный урок по обеспечению совместимости текущей версии Eclipse Oxygen с Java 9.
отредактированныйВерсия Eclipse, загруженная для Windows менее 24 часов назад:
Eclipse Java EE IDE для веб-разработчиков.
Версия: Oxygen.2 Release (4.7.2) Идентификатор сборки: 20171218-0600
Отредактировано второй разПосле того, как я изменил с 1.9 на 9, красный значок ошибки исчез, и у меня теперь Java 9. Тем не менее, теперь я получил эту ошибку:
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
[INFO] 1 error
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.542 s
[INFO] Finished at: 2018-01-02T05:19:30+01:00
[INFO] Final Memory: 9M/30M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.7.0:compile (default-compile) on project http_client: Compilation failure
[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?
Что не имеет смысла для меня, потому что:
Отредактировано в третий раз