操作系统:Windows XP
我正在使用yuicompressor-2.4.2压缩一些CSS,然后再上传到我的服务器。 但是当我运行它时,会出现以下异常:
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/yahoo/platform/yui/compressor/Bootstrap (Unsupported major.minor version 48.0)
所以我认为这是因为JRE。我输入的命令是cmd:java -version
它说:java版“1.3.1_01”但应该说“1.6.0_16”,因为我已经安装了最新版本。
如何让Java使用最新版本而不是旧版本?
答案 0 :(得分:11)
设置环境变量JAVA_HOME,指向您拥有jdk 1.6.0的目录
set JAVA_HOME=your_path_to_jdk1.6
set PATH=%JAVA_HOME%/bin;.;..;%PATH%
那是来自命令窗口。您也可以从“我的电脑>属性>高级>环境变量”
进行操作答案 1 :(得分:7)
在Windows上,JRE在Windows目录中安装java
可执行文件,该文件应该是路径中的第一个java
。这只是一个封装器,它在Windows注册表中查找Java主目录(对于Java 6应该是“%SystemDrive%\ Program Files \ Java \ jre6”)并使用那里的库运行。
运行%SystemRoot%\ system32 \ java -version,看看你得到了什么。如果 Java 6,则在%SystemRoot%\ system32之前的路径中有条目(实际上应该是第一个)。修复%PATH%变量,或者只要您想运行此版本的Java,就必须明确。
如果运行java
的实例未报告Java 6,则表示未安装(正确)。卸载并重新尝试安装。
如果你因为PATH而遇到麻烦,那是因为你或你安装的某些软件与它有关;我建议使用默认设置,即先安装system32。如果使用默认值,一切正常。
此外,JRE本身根本没有使用%JAVA_HOME%。一些常见的Java应用程序如tomcat和ant尊重%JAVA_HOME%设置,所以也许yuicompressor也是如此。但这是事实上的惯例,而非标准。
答案 2 :(得分:6)
转到system32目录C:\ Windows \ System32并删除以下3个文件
现在使用value = {jdk installation的root path}创建一个JAVA_HOME环境变量,并在PATH环境变量中添加jdk的bin文件夹的路径。
打开一个新的命令提示符并运行java -version以确认更改
答案 3 :(得分:2)
您应该修改PATH环境变量:
我的电脑>右键单击>属性>高级>环境变量
修改“路径”
最后附加1.6安装的路径:
;C:\jdk1.6.xxx\bin
并删除前一个(如果有)。
答案 4 :(得分:2)
在命令提示符}
之后
例如
where java
删除where java
C:\Program Files\Common Files\Oracle\Java\javapath
C:\Program Files\Java\jdk-11.0.10\bin\java.exe
文件夹
然后关闭所有终端并在终端中写入C:\Program Files\Common Files\Oracle
。它将显示正确的版本
为我工作
答案 5 :(得分:1)
将%JAVA_HOME%/ bin添加到PATH环境变量中,其中JAVA_HOME设置为JRE6u16目录
答案 6 :(得分:1)
首先通过以下命令,您应该知道在命令提示符中键入 public class Program
{
public static void Main()
{
var source = new ClassA();
var middleman = new ClassB(source);
var subscribers = Enumerable.Range(0, 10)
.Select(_ => new ClassC(middleman))
.ToArray();
Console.WriteLine("Fire 1!");
source.FireEvent();
Console.WriteLine("Fire 2!");
source.FireEvent();
Console.WriteLine("Fire 3!");
source.FireEvent();
Console.WriteLine("Fire 4!");
source.FireEvent();
Console.WriteLine("Fire 5!");
source.FireEvent();
}
}
class ClassA
{
public delegate void SomeAEventHandler(object sender, string msg);
public event SomeAEventHandler SomeAEvent;
public void FireEvent()
{
SomeAEvent?.Invoke(this, "Event A fired");
}
}
class ClassB
{
public event ClassA.SomeAEventHandler SomeAEvent;
private ClassA _eventSource;
public ClassB(ClassA eventSource)
{
_eventSource = eventSource;
eventSource.SomeAEvent += SomeAEventHappened;
}
private void SomeAEventHappened(object sender, string msg)
{
var rnd = new Random().Next(10);
if (rnd % 2 == 0)
{
// Instead of 'this' use 'sender' if needed
SomeAEvent?.Invoke(this, msg);
}
}
}
class ClassC
{
private readonly ClassB _myMiddleman;
public ClassC(ClassB middleman)
{
_myMiddleman = middleman;
middleman.SomeAEvent += SomeAEventHappened;
}
private void SomeAEventHappened(object sender, string msg)
{
Console.WriteLine("ClassC got an event!");
}
}
时运行的 .exe 文件
java
如上所示,cmd首先读取java
<块引用>C:\Program Files\Common Files\Oracle\Java\javapath
所以转到上面的路径并删除java文件。 那么它应该可以正常工作
答案 7 :(得分:0)
您应该检查PATH环境变量。您安装的某些应用程序可能已将其版本的jre放在您的路径中。
答案 8 :(得分:0)
看起来旧的Java版本仍然在系统PATH环境变量(操作系统查找命令)或JAVA_HOME(其中yuicompressor可能查找java可执行文件)
如何更改这些变量取决于您的操作系统。
答案 9 :(得分:0)
如果您使用的是 windows 7/10 ,请转到命令提示符并键入
where java
删除下面显示的所有符号链接,而不是实际的安装目录。
答案 10 :(得分:0)
我有同样的问题。在System Properties > Environment Variables > System Variables > PATH
中,确保没有其他与Java关联的路径。为此,请输入并检查Java路径。
where java
重新打开命令提示符,然后再次键入java -version
。希望对您有所帮助。