标签: jdk1.7

无法在Eclipse中运行Kotlin应用程序

为了在Eclipse中创建我的第一个简单的Kotlin项目,我按照Kotlin官方网站上的Eclipse Luna入门教程中的步骤进行了操作,即:

  • 从Eclipse Marketplace安装Eclipse的Kotlin插件
  • 打开Kotlin视角并创建一个Kotlin项目
  • 使用该main方法在"src"文件夹中创建文件"hello.kt"
  • 右键单击文件>运行方式> Kotlin应用程序

但是,我在Eclipse控制台中不断收到以下错误:

错误:无法找到或加载主类HelloKt

我已经仔细检查了我的项目的运行配置,它确实将"主类"设置为HelloKt(我100%确定它不存在).此外,当我点击"搜索"按钮时,Eclipse找到的唯一项目HelloKt - (default package)(同样不存在).

为了完整起见,请在下面找到hello.kt文件代码:

fun main(args: Array<String>) {
    println("Hello, World")
}
Run Code Online (Sandbox Code Playgroud)

我注意到教程和我做的之间有以下不同之处:

  • 我正在使用不同的Eclipse版本(教程建议Luna;我正在使用Mars.2).
  • 我正在使用不同的JDK版本(该教程不建议任何特定版本,但从图像中,我们可以看到他们已经使用过jdk1.6.0_45,而我正在使用jdk1.7.0_79.

请注意,我使用的是最新版本的Kotlin Eclipse插件,因此这与此帖中的情况不同.这些是我当前安装中的版本:

  • Kotlin 0.7.2.v20160930-0748
    • kotlin-eclipse-policy 0.7.2.v20160928-1525
    • kotlin-weaving-feature 0.7.2.v20160928-1525

在运行应用程序时,这些差异是否会导致错误?

您是否看到/了解有关此方案的任何潜在原因或已知错误?


更新(2017年5月14日)

试用Eclipse Neon.3(eclipse.buildId = 4.6.3.M20170301-0400),JDK 1.8.0_111,Kotlin 0.8.2.v20170314-0957(kotlin-eclipse-policy 0.8.2.v20170314-0957,kotlin-weaving -feature 0.8.2.v20170314-0957,Equinox Weaving SDK 1.2.0.201701131634).问题依然存在.

eclipse jvm kotlin jdk1.7

24
推荐指数
1
解决办法
5598
查看次数

如何知道我是使用Open JDK还是Oracle JDK?

使用java -version给了我这个.

java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
Run Code Online (Sandbox Code Playgroud)

它是OpenJDK还是OracleJDK?

java openjdk jdk1.7 oraclejdk

20
推荐指数
2
解决办法
7025
查看次数

ojdbc6.jar和ojdbc7.jar有什么区别?

ojdbc6.jar是否适用于JDK 1.7和Oracle 12c?我应该使用ojdbc7.jar吗?

先感谢您.

java ojdbc jdk1.7

16
推荐指数
1
解决办法
3万
查看次数

具有https tsa的JDK 1.7 jarsigner不再有效

看起来JDK 1.7.0_80中的Thawte根证书被撤销了. https://www.thawte.com/roots/retired.html

使用7u80 jarsigner不再有效,而且几天前工作正常.

/usr/java/jdk1.7.0_80/jre/../bin/jarsigner -keystore /home/build/keystore.p12 -storepass storepass -storetype pkcs12 -tsa https://timestamp.geotrust.com/tsa /home/build/jenkins/workspace/my-gui/target/my-gui-3.0.29-SNAPSHOT.jar comp
jarsigner: unable to sign jar: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
Run Code Online (Sandbox Code Playgroud)

在删除旧证书后,我尝试将Thawtes Timestamping CA证书导入cacerts.

wget https://www.thawte.com/roots/Thawte_Timestamping_CA.pem

/usr/java/jdk1.7.0_80/bin/keytool -import -trustcacerts -alias verisigntsaca -file Thawte_Timestamping_CA.pem -keystore jre/lib/security/cacerts 
Enter keystore password:  
Trust this certificate? [no]:  yes
Certificate was added to keystore
Run Code Online (Sandbox Code Playgroud)

使用JDK 8u60的jarsigner工作,所以我试图将它的cacerts复制到JDK7,但这也不起作用.

由于Javadoc错误,我们无法使用Java 8进行编译.我看到的唯一解决方案是在JDK7中创建符号链接到JDK8 jarsigner.

/usr/java/jdk1.8.0_60/jre/../bin/jarsigner -keystore /home/build/keystore.p12 -storepass storepass -storetype pkcs12 -tsa https://timestamp.geotrust.com/tsa /home/build/jenkins/workspace/my-gui/target/my-gui-3.0.29-SNAPSHOT.jar comp
jar signed.
Run Code Online (Sandbox Code Playgroud)

如果我将tsa从geotrust切换到digicert,它可以正常使用JDK 7,因为它们不使用https. http://timestamp.digicert.com/

java jarsigner jdk1.7

6
推荐指数
1
解决办法
3282
查看次数

在降级到1.7之后,当我正在进行java -version时,我仍然看到Java 1.8

我将java 1.7从1.8降级,但我仍然看到1.8 java -version.我改变了,pathJAVA_HOME改为1.7作为

JAVA_HOME: C:\Program Files (x86)\Java\jdk1.7.0_79 
PATH:      C:\Program Files(x86)\Java\jdk1.7.0_79\bin
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我在我的道路上也有这个:C:\ProgramData\Oracle\Java\javapath我相信保留这个1.8版本.当我从路径上取下它时,我得到这样的信息:C:\Program Files\Java\jre7\lib\amd64\jvm.cfg.我不知道发生了什么事.任何建议都会非常有帮助.

java windows java-home java-8 jdk1.7

5
推荐指数
1
解决办法
6170
查看次数

为什么 File.exists() 在多线程环境中表现不稳定?

我有一个在 java JDK 1.7 下运行的批处理。它在带有 RHEL、2.6.18-308.el5 #1 SMP 的系统上运行。

此过程从数据库中获取元数据对象列表。它从这个元数据中提取文件的路径。该文件可能实际存在,也可能不存在。

该进程使用 ExecutorService ( Executors.newFixedThreadPool()) 来启动多个线程。每个线程都运行一个 Callable,它启动一个进程,该进程读取该文件并在该输入文件存在时写入另一个文件(并记录结果),如果该文件不存在则不执行任何操作(记录该结果除外)。

我发现行为是不确定的。尽管每个文件的实际存在始终不变,但运行此过程并不会给出一致的结果。它通常会给出正确的结果,但偶尔会发现一些确实存在的文件不存在。如果我再次运行相同的过程,它会发现它之前所说的文件不存在。

为什么会发生这种情况,是否有更可靠的替代方法?在其他线程尝试读取目录时在多线程进程中写入文件是否错误?较小的线程池会有所帮助(目前为 30)吗?

更新: 这是在这种情况下工作线程调用的 unix 进程的实际代码:

public int convertOutputFile(String inputFile, String outputFile)
throws IOException
{
    List<String> args = new LinkedList<String>();
    args.add("sox");
    args.add(inputFile);
    args.add(outputFile);
    args.addAll(2, this.outputArguments);
    args.addAll(1, this.inputArguments);
    long pStart = System.currentTimeMillis();
    int status = -1;
    Process soxProcess = new ProcessBuilder(args).start();

    try {
        // if we don't wait for the process to complete, player won't
        // find the converted file.
        status = soxProcess.waitFor(); …
Run Code Online (Sandbox Code Playgroud)

java multithreading nio java-io jdk1.7

5
推荐指数
3
解决办法
2018
查看次数

Android Studio-无法下载Google API英特尔X86 Atom系统映像

我已经安装了Android Studio-2.2版和jdk 1.7.0_72版。在安装过程中发生错误“警告:准备sdk软件包google apis intel x86 atom系统映像时发生错误”。我已将图像发布在此处,after_installation_problem。虽然有错误显示我跳过了该操作,然后单击完成。但是当我运行Android Studio时,它显示“您的Android SDK丢失,过时或丢失模板”。图像在这里... after_installation_problem。我被困住了..请帮帮我。

android java-7 jdk1.7 android-studio-2.2

5
推荐指数
1
解决办法
1957
查看次数

启动java应用程序

通过以下方式启动java进程有什么区别:

java -jar application.war
Run Code Online (Sandbox Code Playgroud)

java -classpath application.war org.example.Main
Run Code Online (Sandbox Code Playgroud)

问题是我正在使用-jar参数启动Spring Boot Application,进程正常启动,但在eclipse应用程序启动时出现异常:

Caused by: java.lang.ClassNotFoundException: com.sun.istack.localization.Localizable
Run Code Online (Sandbox Code Playgroud)

java jdk1.7

4
推荐指数
1
解决办法
155
查看次数

无法使用 maven 3.6 和 jdk 1.7 构建

我使用 maven 创建了一个项目,但是在构建项目时出现错误。我正在使用 jdk 1.7u21

如果我使用 jdk 1.8,则构建工作正常,只有我使用 jdk 1.7,那么问题就来了。

尝试在我使用的构建目标中使用 TSL 1.2

-Dhttps.protocols=TLSv1.2 全新安装

我也尝试添加以下内容: wagon-ftp 和 plexus-utils 作为 under build

但仍然无法正常工作

我的 pom 文件如下所述:

 <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.collibra.aig.profitcenter</groupId>
    <artifactId>ProfitCenterCodes</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>ProfitCenterCodes</name>
    <description>ProfitCenterCodes</description>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <log4j.version>2.3</log4j.version>
        <lombok.version>1.18.6</lombok.version>
        <apache.httpclient.version>4.5.3</apache.httpclient.version>
        <jackson.version>1.9.4</jackson.version>
        <spring.core.version>5.1.6.RELEASE</spring.core.version>
        <spring.context.version>5.1.6.RELEASE</spring.context.version>
        <jacksondatabind.version>2.9.9</jacksondatabind.version>
        <slf4j.version>1.7.12</slf4j.version>
        <spring.web>5.1.7.RELEASE</spring.web>
    </properties>
    <dependencies>
        <!-- Log4j API and Core implementation required for binding -->
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>${log4j.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${slf4j.version}</version>
        </dependency> …
Run Code Online (Sandbox Code Playgroud)

maven jdk1.7

4
推荐指数
1
解决办法
2941
查看次数

在Windows中安装和切换java 7和java 8

我在寡妇和使用日食.目前我正在使用java 7.现在我想使用java 8.但我无法卸载java 7,因为我的一些旧项目在java 7中工作.

那么如何同时安装两个java版本并在这些版本之间切换.

我只想要一些特定的项目将使用java 8.

java jvm java-7 java-8 jdk1.7

3
推荐指数
1
解决办法
2万
查看次数

HibernatePersistenceProvider:不支持的major.minor 版本52.0 intellij

我搜索了这个问题,例如

如何修复 java.lang.UnsupportedClassVersionError: Unsupported major.minor version

但答案对我不起作用

我正在使用 jdk 1.7,我将编译器设置为 1.7.0_79,这意味着是 java 7,但是当我运行时,我仍然收到错误,我将项目字节码版本设置为 1.7 但同样的消息

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/hibernate/jpa/HibernatePersistenceProvider : Unsupported major.minor version 52.0
Run Code Online (Sandbox Code Playgroud)

尝试在此行加载persistence.xml 时发生此异常

    <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
Run Code Online (Sandbox Code Playgroud)

并在这一行的java代码中

    EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("sample");
Run Code Online (Sandbox Code Playgroud)

java hibernate intellij-idea jdk1.7

3
推荐指数
1
解决办法
6329
查看次数

JDK1.7 - 检索枚举常量,其值为点

我正在使用第三方库,它有一个枚举类,如下所示:

public enum Version { 
VERSION_2_0("v2.0"), 
VERSION_2_1("v2.1"), 
VERSION_2_2("v2.2")

private final String urlElement;

  Version(String urlElement) {
    this.urlElement = urlElement;
  }

  public String getUrlElement() {
    return this.urlElement;
  }

  public boolean isUrlElementRequired() {
    return null != this.urlElement;
  }


}
Run Code Online (Sandbox Code Playgroud)

我正在从道具文件中读取版本,我想传递给这个枚举,以获得各自的枚举常量,如下所示:

String str="v2.2"; //this i get from a props file    
System.out.println("version enum: "+Version.valueOf(str));
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

Exception in thread "main" java.lang.IllegalArgumentException: No enum constant com.pkg.Version.v2.2
Run Code Online (Sandbox Code Playgroud)

似乎"v2.2"没有被视为单个字符串.我通过在字符串中转义点来尝试了几种方法,但它们都没有工作.我正在使用JDK1.7.所以有人遇到过这个,请指教.

java enums jdk1.7

2
推荐指数
1
解决办法
1799
查看次数

安装 Oracle Web Logic Server 时出现无效的 Java Home 错误

我需要帮助来提取 WLS,我尝试使用 CMD 安装 WebLogic Server,并且我已经设置了 java_home。但我有以下错误:

提取安装程序。. . . . . 完成
此安装程序必须使用 Java 开发工具包 (JDK) 执行,
但 C:\Program Files\Java\jre7 不是有效的 JDK Java Home。
日志位于:C:\Users\E440\AppData\Local\Temp\OraInstall2016-12-18_05-38-26AM\launcher2016-12-18_05-38-26AM.log。

按 Enter 退出

我试图设置 JAVA_HOME

C:\Oracle\FMW>set java_home
JAVA_HOME=C:\Program Files\Java\jdk1.7.0_79

这就是我在环境变量中设置的路径,但它仍然显示相同的错误。
我将命令更改为指定的oracle home

C:\Oracle\FMW>java -jar fmw_12.2.1.2.0_wls_quick.jar oracle_home=C:\app\user\product\11.2.0\dbhome

但是再次错误仍然相同。
C:\ Program Files文件\的Java \ jre7 路径甚至没有在我的环境变量。
有什么我错过了吗?

oracle cmd java-home weblogic12c jdk1.7

1
推荐指数
1
解决办法
7770
查看次数