如何在自制软件中安装特定版本的公式?例如,postgresql-8.4.4而不是最新的9.0.
我想在Mac OSX上安装OpenJDK Java 11,并将其与其他JDK一起使用,因为它是一个较新版本.目前,我下载了tar.gz并将其放在我的路径中,但这很难维护.
我发现自动做更多事情的唯一其他安装是通过Homebrew cask进行的Oracle安装,但这是商业JDK,我想要开源的!
brew cask info java
Run Code Online (Sandbox Code Playgroud)
显示:
java:11,28:55eed80b163941c8885ad9298e6d786a https://www.oracle.com/technetwork/java/javase/overview/index.html
它是Oracle JDK而不是OpenJDK,请参阅:https: //discourse.brew.sh/t/how-to-install-openjdk-with-brew/712
从较旧的问题(Mac OS X和多个Java版本)的指示已过时,并给我错误的版本 - Oracle而不是OpenJDK.
更新: 截至2018年10月3日,Homebrew酒桶现在指向OpenJDK 11
所以我前一段时间安装了JDK 8测试版以查看一些示例.我现在肯定地想,很容易在版本之间进行更改.
使用IntelliJ进行一些Play开发.出于某种原因,IntelliJ正在使用8进行编译,即使:
如果我转到Java首选项页面,它确实显示已安装8,但没有选项可以卸载它,它没有看到任何其他版本.
当我这样做时which java,它告诉我/usr/bin/java和我这样做/usr/bin/java -version,它返回1.6.
注意:有点小小的,你可以使用IntelliJ和JDK7,见这里.
我下载了最新的 Android Studio,我想运行 Android Jetpack Compose 项目,但是当我运行时,出现错误:
> Failed to apply plugin 'com.android.internal.application'.
> Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
You can try some of the following options:
- changing the IDE settings.
- changing the JAVA_HOME environment variable.
- changing `org.gradle.java.home` in `gradle.properties`.
Run Code Online (Sandbox Code Playgroud)
我已经下载了 Java 11,并在 gradle.properties 中添加了 java 11。
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.0.10.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
JAVA_HOME 显示 Java 11,但我运行,它不起作用,
/Library/Java/JavaVirtualMachines/jdk-11.0.10.jdk/Contents/Home
我应该怎么做?
我的 Java 版本
java 11.0.10 2021-01-19 LTS
Java(TM) SE Runtime …Run Code Online (Sandbox Code Playgroud) 我在Mac OSX上对多个java版本的理解(实际路径与链接)有困难.通常在Windows中,如果我的机器上安装了多个版本,我可以选择我想要的版本的路径并使用它.但是在MAC OS XI中,有一些东西被称为指向CurrentJDK的链接,如果我想使用不同的版本,我需要更改到CurrentJdk的链接吗?但令我困惑的是,正如你在下面看到的那样,我的所有版本都指向相同的CurrentJDK,这意味着所有版本都指向当前版本?我原以为只有其中一个会指向CurrentJDK,我可以把它改成我需要的东西,而不是这里的情况.我需要知道的是如何找到每个版本的bin(Commands)文件夹路径,以便我可以用它来指向CurrentJDK?另请告诉我如何更改CurrentJDK的链接.
$ java -version
java version "1.6.0_24"
Java(TM) SE Runtime Environment (build 1.6.0_24-b07-334-10M3326)
Java HotSpot(TM) 64-Bit Server VM (build 19.1-b02-334, mixed mode)
$ pwd
/System/Library/Frameworks/JavaVM.framework/Versions
$ ls -l
lrwxr-xr-x 1 root wheel 5 Mar 20 11:12 1.3 -> 1.3.1
drwxr-xr-x 3 root wheel 102 Dec 2 2009 1.3.1
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.4 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 11:12 1.4.2 -> CurrentJDK
lrwxr-xr-x 1 root wheel 10 Mar 20 …Run Code Online (Sandbox Code Playgroud) 我在更新Android Studio 3.1 Canary 6的版本后收到错误
在它成功运行之前,我不知道它为什么会发生.
org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:50)
at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:35)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:98)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:51)
at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:37)
at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:35)
at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25)
at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:207)
at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:192)
at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:124)
at com.android.build.gradle.tasks.factory.AndroidJavaCompile.compile(AndroidJavaCompile.java:125)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at …Run Code Online (Sandbox Code Playgroud) 在我在 macOS 上的设置中,我正在使用多个 JDK,通过/usr/libexec/java_home工具在它们之间切换,类似于此 SO 答案中描述的方法
升级到 macOS Big Sur v11.0.1 后,我的 JAVA_HOME 设置停止工作,总是报告相同的 java 版本:
% /usr/libexec/java_home -V
Matching Java Virtual Machines (5):
11.0.8 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
1.8.162.12 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_162 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home
1.8.0_45 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home
1.7.0_45 (x86_64) "Oracle Corporation" - "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
% /usr/libexec/java_home -v 1.8.162.12
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
% /usr/libexec/java_home -v 1.7.0_45 …Run Code Online (Sandbox Code Playgroud) 我希望在Mac上安装Java Homebrew.使用该命令可以正常工作
brew cask install java.这将安装当前最新的稳定版本 - 1.8.0_141
但是如何安装特定版本1.8.0_131.
我下载了Oracle SQLDeveloper,但是当我打开它时,它说它需要最少的Java 8并且给了我下载的网站.我继续下载Java 10.0.1,但当我重新打开SQL时,它继续说它需要最少的Java 8.
我检查了Java 10.0.1已经正确安装,我很确定它有.它显示在"系统偏好设置"中,单击此按钮可以打开Java控制面板.
我还发现有人建议尝试这个命令:
c:\Program Files\Oracle\sqlcl\17.3\sqlcl\bin>java -version
Run Code Online (Sandbox Code Playgroud)
在终端尝试这个之后,我最终得到了command not found.
我在MacOS X El Captain 10.11.6上.