在链接升级到Java 10之后,将Javadoc注释中的链接断开,并尝试重现相同的内容,同时我可以将构建配置设置为:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>9</source>
<target>9</target>
</configuration>
<dependencies>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>6.1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<additionalOptions>
<additionalOption>-html5</additionalOption>
</additionalOptions>
<nodeprecatedlist>true</nodeprecatedlist>
<notree>true</notree>
<quiet>true</quiet>
<show>public</show>
<splitindex>true</splitindex>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
注 - 这在执行时与Java-9一起成功运行mvn clean verify -X.
另一方面,如果我将源和目标更改为10(Java-10),则构建将PluginExecutionException因NullPointerException以下堆栈跟踪而导致失败:
Execution attach-javadocs of goal org.apache.maven.plugins:maven-javadoc-plugin:3.0.0:jar failed.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117) …Run Code Online (Sandbox Code Playgroud) 我想在我的Android Studio中使用我的JDK 10.我去了Files> Project Structure并指定了我的JDK位置:
C:\Program Files\Java\jdk-10
Run Code Online (Sandbox Code Playgroud)
单击"确定"后,它显示Gradle sync failed一条错误消息:
Could not determine Java version using executable C:\Program Files\Java\jdk-10\bin\java.exe.
Run Code Online (Sandbox Code Playgroud)
我已将JAVA_HOME变量设置为我的jdk和jre文件夹,并将路径变量设置为C:\ProgramData\Oracle\Java\javapath但问题仍然存在.
我也可以使用命令找到Java版本:
"C:\Program Files\Java\jdk-10\bin\java.exe" -version
它给了我正确的版本:
java version "10" 2018-03-20
Java(TM) SE Runtime Environment 18.3 (build 10+46)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)
Run Code Online (Sandbox Code Playgroud)
操作系统:Windows 10 64位
Android Studio版本:3.1.0.16
JDK版本:10
当我maven-archetype-quickstart在 macOS Sierra 上使用 Oracle 10.0.1从 Maven 原型版本 1.3创建新的 IntelliJ 2018.1 项目时,我在执行 Maven 时收到此错误install。
[错误] 无法在项目 h2e2 上执行目标 org.apache.maven.plugins:maven-surefire-plugin:2.20.1:test (default-test): 执行目标 org.apache.maven.plugins:maven 的默认测试-surefire-plugin:2.20.1:test failed.: NullPointerException -> [Help 1]
我在创建新项目后直接运行它。我写这封信没有代码。我可以运行默认行:
public static void main( String[] args ) { System.out.println( "Hello World!" ); }
Run Code Online (Sandbox Code Playgroud)
...通过Run 'App.main()'从在代码编辑器中单击的上下文菜单中进行选择。那行得通,但 Maveninstall失败了。
在 IntelliJ 的 Maven 窗格中执行clean和install并不能解决问题。
如果我将 IntelliJ File> Project Structure> Project> Project SDK> 从 10.0.1 切换到 1.8.0_171(并设置 …
我想编译一个Java 10类文件jaotc.虽然我能够构建Java 10模块的共享库,但我无法弄清楚如何编译单个类.我班的FQCN是net.sweblog.jm18.aot.hw.HelloWorld它的完整路径target/classes/net/sweblog/jm18/aot/hw/HelloWorld.class.
所以试着调用jaotc如下:
$ jaotc --output output/helloworld.so \
--search-path helloworld/target/classes/ \
--class-name net.sweblog.jm18.aot.hw.HelloWorld
Error: Failed to find class file: net.sweblog.jm18.aot.hw.HelloWorld
java.lang.NullPointerException
at jdk.aot/jdk.tools.jaotc.Main.run(Main.java:135)
at jdk.aot/jdk.tools.jaotc.Main.run(Main.java:101)
at jdk.aot/jdk.tools.jaotc.Main.main(Main.java:80)
Run Code Online (Sandbox Code Playgroud)
有谁知道如何jaotc正确调用编译我的类文件?
从 Java 8 升级到 Java 10 后,我无法再部署到 AWS S3。我在 pom.xml 的构建部分中有这个:
<extensions>
<extension>
<groupId>com.allogy.maven.wagon</groupId>
<artifactId>maven-s3-wagon</artifactId>
<version>1.1.0</version>
</extension>
</extensions>
Run Code Online (Sandbox Code Playgroud)
然后我定义了回购:
<distributionManagement>
<repository>
<id>projectx-aws-release</id>
<name>ProjectX AWS Release Repository</name>
<url>s3://projectx-support/maven2</url>
</repository>
<snapshotRepository>
<id>projectx-aws-snapshots</id>
<name>ProjectX AWS Snapshot Repository</name>
<url>s3://projectx-support/maven2</url>
</snapshotRepository>
</distributionManagement>
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
Execution default-deploy of goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy failed: A required class was missing while executing org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy: javax/xml/bind/Datatype
Run Code Online (Sandbox Code Playgroud)
转换器
事情开始出错时的完整输出是:
Uploading to projectx-aws-release: s3://projectx-support/maven2/tech/projectx/projectxcommon/1.0.0-beta.9/projectxcommon-1.0.0-beta.9.jar
[INFO] File permissions: Private
[INFO] Logged in - projectx-support
[INFO] Uploading: s3://projectx-support/maven2/tech/projectx/projectxcommon/1.0.0-beta.9/projectxcommon-1.0.0-beta.9.jar
[INFO] Logged off - projectx-support
[INFO] Transfers: 1 Time: …Run Code Online (Sandbox Code Playgroud) 我在使用 JDK10 的 Tomcat 8.5 中遇到了一个奇怪的问题。它启动正常,但在发出关闭命令时,我遇到了这个注意:
注意:选择 JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/ sun.rmi.transport=ALL-UNNAMED
java 进程仍在运行,因此提示我杀死 PID 以停止它。
任何人都知道我需要做些什么来解决这个问题?
谢谢!
如何从docker化的Tomee服务器上运行的应用程序成功连接到Dockerized DB2 DB服务器 - 两个容器都使用jdk10?
到目前为止我试图做的......
将db2jcc4.jar删入"/ usr/local/tomee/lib"文件夹...
...从...获取:
https://www-01.ibm.com/support/docview.wss?uid=swg21385217
Run Code Online (Sandbox Code Playgroud)
Fwiw,tomcat服务器的初始启动抱怨它无法找到pdq.jar ...:
05-Sep-2018 16:48:04.901 INFO [localhost-startStop-1] org.apache.openejb.assembler.classic.Assembler.createApplication Deployed Application(path=C:\tools\apache-tomee-plume-7.0.5\webapps\docs)
05-Sep-2018 16:48:04.956 WARNING [localhost-startStop-1] org.apache.tomcat.util.scan.StandardJarScanner.processURLs Failed to scan [file:/C:/tools/apache-tomee-plume-7.0.5/lib/pdq.jar] from classloader hierarchy
java.io.IOException: java.lang.reflect.InvocationTargetException
at org.apache.tomcat.util.compat.Jre9Compat.jarFileNewInstance(Jre9Compat.java:212)
at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:65)
at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:49)
at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:374)
at org.apache.tomcat.util.scan.StandardJarScanner.processURLs(StandardJarScanner.java:309)
at org.apache.tomcat.util.scan.StandardJarScanner.doScanClassPath(StandardJarScanner.java:266)
at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:229)
at org.apache.tomee.loader.TomEEJarScanner.scan(TomEEJarScanner.java:69)
at org.apache.catalina.startup.ContextConfig.processJarsForWebFragments(ContextConfig.java:1888)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1116)
at org.apache.catalina.startup.OpenEJBContextConfig.webConfig(OpenEJBContextConfig.java:411)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:765)
at org.apache.catalina.startup.OpenEJBContextConfig.configureStart(OpenEJBContextConfig.java:124)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1140)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1875)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
at …Run Code Online (Sandbox Code Playgroud) 这个类显示信息:
// display line numbers from a file
display(getLineNumber(myFile));
// display users from DB
display(getUsersName(myDBRepository));
Run Code Online (Sandbox Code Playgroud)
等等...
我想制作一个通用接口,这样我就可以将显示信息的代码具体化。
然后我可以做这样的事情:
myInformationElements.stream().forEach(e -> display(e.getValue());
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所拥有的(不工作):
public interface InformationElement {
public <T> String getValue (T param);
}
public class NbFileLineInformationElement implements InformationElement{
@Override
public <File> String getValue(File param) {
return *same code as in getLineNumber(myFile)*;
}
}
public class UserInformationElement implements InformationElement{
@Override
public <UserRepository> String getValue(UserRepository param) {
return *same code as in getUsersName(myDBRepository)*;
}
}
Run Code Online (Sandbox Code Playgroud)
这很奇怪。我正在将一个动态 Web 项目从 Java 8 迁移到 Java 10。
我无法解决依赖项的最后一件事是 javax.xml.namespace.QName 类。
IntelliJ 显示 Kotlin 中局部变量的类型提示,如下所示:
这使得很容易查看变量的类型,即使它们的类型是推断出来的。Java 10 引入了带有var关键字的Java 类型推断。但是,IntelliJ 默认不显示任何类型提示:
在互联网上搜索了一下之后,我无法找到有关如何为 Java 的局部变量启用类型提示的任何信息。目前这甚至可能吗?
我在 Windows 10 上使用 IntelliJ 社区版 2019.1。