Can we install two versions of Java JDK in windows
I have created an executable jar developed on java version 8.Jar was opening on double click. But as the oracle apps support only Java 6, I had to install JRE6 but then after JRE6 installation, my executable jar is not opening.
I have set the JDK 8 bin path in Path environment variables. Please suggest a solution for this problem. Why is the jar not opening after two JAVA versions in the system?
JAR should open even if two versions 6 and 8 of java are installed in the system.
java
New contributor
|
show 2 more comments
I have created an executable jar developed on java version 8.Jar was opening on double click. But as the oracle apps support only Java 6, I had to install JRE6 but then after JRE6 installation, my executable jar is not opening.
I have set the JDK 8 bin path in Path environment variables. Please suggest a solution for this problem. Why is the jar not opening after two JAVA versions in the system?
JAR should open even if two versions 6 and 8 of java are installed in the system.
java
New contributor
2
Can we install two versions of Java JDK in windows Yes. Why is the jar not opening after two JAVA versions in system? Because Java 6 can't run Java 8 compiled code, you should be getting an error, and that error should have led you to the solution (recompile your application with Java 6, because Java 8 can run Java 6 compiled code).
– Elliott Frisch
1 hour ago
Hi Elliott :), Thank you for responding. My application will support only Java 8 and above.Do you have another suggestion?
– JTechseeker
1 hour ago
If your application will only support Java 8 and above, why have you installed Java 6?
– Elliott Frisch
1 hour ago
@JTechseeker set default path of your JRE to 6
– Mustahsan
1 hour ago
@ElliottFrisch : Hi Elliot, We are using oracle ERP instance which require java 6 for opening forms.
– JTechseeker
1 hour ago
|
show 2 more comments
I have created an executable jar developed on java version 8.Jar was opening on double click. But as the oracle apps support only Java 6, I had to install JRE6 but then after JRE6 installation, my executable jar is not opening.
I have set the JDK 8 bin path in Path environment variables. Please suggest a solution for this problem. Why is the jar not opening after two JAVA versions in the system?
JAR should open even if two versions 6 and 8 of java are installed in the system.
java
New contributor
I have created an executable jar developed on java version 8.Jar was opening on double click. But as the oracle apps support only Java 6, I had to install JRE6 but then after JRE6 installation, my executable jar is not opening.
I have set the JDK 8 bin path in Path environment variables. Please suggest a solution for this problem. Why is the jar not opening after two JAVA versions in the system?
JAR should open even if two versions 6 and 8 of java are installed in the system.
java
java
New contributor
New contributor
edited 44 mins ago
Mr. Semicolon
6151422
6151422
New contributor
asked 1 hour ago
JTechseekerJTechseeker
314
314
New contributor
New contributor
2
Can we install two versions of Java JDK in windows Yes. Why is the jar not opening after two JAVA versions in system? Because Java 6 can't run Java 8 compiled code, you should be getting an error, and that error should have led you to the solution (recompile your application with Java 6, because Java 8 can run Java 6 compiled code).
– Elliott Frisch
1 hour ago
Hi Elliott :), Thank you for responding. My application will support only Java 8 and above.Do you have another suggestion?
– JTechseeker
1 hour ago
If your application will only support Java 8 and above, why have you installed Java 6?
– Elliott Frisch
1 hour ago
@JTechseeker set default path of your JRE to 6
– Mustahsan
1 hour ago
@ElliottFrisch : Hi Elliot, We are using oracle ERP instance which require java 6 for opening forms.
– JTechseeker
1 hour ago
|
show 2 more comments
2
Can we install two versions of Java JDK in windows Yes. Why is the jar not opening after two JAVA versions in system? Because Java 6 can't run Java 8 compiled code, you should be getting an error, and that error should have led you to the solution (recompile your application with Java 6, because Java 8 can run Java 6 compiled code).
– Elliott Frisch
1 hour ago
Hi Elliott :), Thank you for responding. My application will support only Java 8 and above.Do you have another suggestion?
– JTechseeker
1 hour ago
If your application will only support Java 8 and above, why have you installed Java 6?
– Elliott Frisch
1 hour ago
@JTechseeker set default path of your JRE to 6
– Mustahsan
1 hour ago
@ElliottFrisch : Hi Elliot, We are using oracle ERP instance which require java 6 for opening forms.
– JTechseeker
1 hour ago
2
2
Can we install two versions of Java JDK in windows Yes. Why is the jar not opening after two JAVA versions in system? Because Java 6 can't run Java 8 compiled code, you should be getting an error, and that error should have led you to the solution (recompile your application with Java 6, because Java 8 can run Java 6 compiled code).
– Elliott Frisch
1 hour ago
Can we install two versions of Java JDK in windows Yes. Why is the jar not opening after two JAVA versions in system? Because Java 6 can't run Java 8 compiled code, you should be getting an error, and that error should have led you to the solution (recompile your application with Java 6, because Java 8 can run Java 6 compiled code).
– Elliott Frisch
1 hour ago
Hi Elliott :), Thank you for responding. My application will support only Java 8 and above.Do you have another suggestion?
– JTechseeker
1 hour ago
Hi Elliott :), Thank you for responding. My application will support only Java 8 and above.Do you have another suggestion?
– JTechseeker
1 hour ago
If your application will only support Java 8 and above, why have you installed Java 6?
– Elliott Frisch
1 hour ago
If your application will only support Java 8 and above, why have you installed Java 6?
– Elliott Frisch
1 hour ago
@JTechseeker set default path of your JRE to 6
– Mustahsan
1 hour ago
@JTechseeker set default path of your JRE to 6
– Mustahsan
1 hour ago
@ElliottFrisch : Hi Elliot, We are using oracle ERP instance which require java 6 for opening forms.
– JTechseeker
1 hour ago
@ElliottFrisch : Hi Elliot, We are using oracle ERP instance which require java 6 for opening forms.
– JTechseeker
1 hour ago
|
show 2 more comments
2 Answers
2
active
oldest
votes
You are facing Backward Compatibility problem,backwards compatibility means that you can run Java 6 program on Java 8 runtime, not the other way around.
You can Run Lower configuration on Higher Configuration not Vice-Versa
There are several reasons for that:
- Bytecode is versioned and JVM checks if it supports the version it
finds in .class files. - Some language constructs cannot be expressed in previous versions of
bytecode. - There are new classes and methods in newer JRE's which won't work
with older ones.
If you really, really want (tip: you don't), you can force the compiler to treat the source as one version of Java and emit bytecode for another, using something like this:
javac -source 1.8 -target 1.6 MyClass.java
Source: A program made with Java 8 can be run on Java 7?
add a comment |
In the short term,
the answer is yes. Since both JDK files are downloaded as jar fils it will ok to download both jar files. The reason to not opening after two java versions is as @Elliott said: "in the system is Java 6 can't run Java 8 compiled code, you should be getting an error." That's exactly true but the problem is how to use multiple versions of JDK in a single machine.
Then we have to move on to long term,
The tricky thing is to manage these multiple JDKs and IDEs. It’s a piece of cake if I just use Eclipse for compiling my code because the IDE allows me to configure multiple versions of Java runtime. Unfortunately (or fortunately), I have to use the command line/shell to build my code. So, it is important that I have the right version of JDK present in the PATH and other related environment variables (such as JAVA_HOME).
Manually modifying the environment variables every time I want to switch between JDKs, isn’t a happy task. But, thanks to Windows Powershell, I’m able to write a script that can do the heavy lifting for me.
Basically, what you want to achieve is to set the PATH variable to add the Java bin folder and set the JAVA_HOME environment variable and then launch the correct Eclipse IDE. And, I want to do this with a single command. Let’s do it.
- Open a Windows Powershell.
- I prefer writing custom Windows scripts in my profile file so that it is available to run whenever I open the shell. To edit the profile, run this command:
notepad.exe $profile
- the $profile is a special variable that points to your profile file. - Write the below script in the profile file and save it.
function myIDE{ $env:Path = “C:vraajavajdk7bin;” $env:JAVA_HOME = “C:vraajavajdk7” C:vraaideeclipseeclipse set-location C:vraaworkspacemyproject play }
function officeIDE{
$env:Path = "C:vraajavajdk6bin;"
$env:JAVA_HOME = "C:vraajavajdk6"
C:officeeclipseeclipse
}
- Close and restart the Powershell.
- Now you can issue the command
myIDE
which will set the proper PATH and environment variables and then launch the Eclipse IDE.
As you can see, there are two functions with different configurations. Just call the function name that you want to launch from the Powershell command line (myIDE
).
If any issue please put a comment below!
add a comment |
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
JTechseeker is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55448416%2fcan-we-install-two-versions-of-java-jdk-in-windows%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You are facing Backward Compatibility problem,backwards compatibility means that you can run Java 6 program on Java 8 runtime, not the other way around.
You can Run Lower configuration on Higher Configuration not Vice-Versa
There are several reasons for that:
- Bytecode is versioned and JVM checks if it supports the version it
finds in .class files. - Some language constructs cannot be expressed in previous versions of
bytecode. - There are new classes and methods in newer JRE's which won't work
with older ones.
If you really, really want (tip: you don't), you can force the compiler to treat the source as one version of Java and emit bytecode for another, using something like this:
javac -source 1.8 -target 1.6 MyClass.java
Source: A program made with Java 8 can be run on Java 7?
add a comment |
You are facing Backward Compatibility problem,backwards compatibility means that you can run Java 6 program on Java 8 runtime, not the other way around.
You can Run Lower configuration on Higher Configuration not Vice-Versa
There are several reasons for that:
- Bytecode is versioned and JVM checks if it supports the version it
finds in .class files. - Some language constructs cannot be expressed in previous versions of
bytecode. - There are new classes and methods in newer JRE's which won't work
with older ones.
If you really, really want (tip: you don't), you can force the compiler to treat the source as one version of Java and emit bytecode for another, using something like this:
javac -source 1.8 -target 1.6 MyClass.java
Source: A program made with Java 8 can be run on Java 7?
add a comment |
You are facing Backward Compatibility problem,backwards compatibility means that you can run Java 6 program on Java 8 runtime, not the other way around.
You can Run Lower configuration on Higher Configuration not Vice-Versa
There are several reasons for that:
- Bytecode is versioned and JVM checks if it supports the version it
finds in .class files. - Some language constructs cannot be expressed in previous versions of
bytecode. - There are new classes and methods in newer JRE's which won't work
with older ones.
If you really, really want (tip: you don't), you can force the compiler to treat the source as one version of Java and emit bytecode for another, using something like this:
javac -source 1.8 -target 1.6 MyClass.java
Source: A program made with Java 8 can be run on Java 7?
You are facing Backward Compatibility problem,backwards compatibility means that you can run Java 6 program on Java 8 runtime, not the other way around.
You can Run Lower configuration on Higher Configuration not Vice-Versa
There are several reasons for that:
- Bytecode is versioned and JVM checks if it supports the version it
finds in .class files. - Some language constructs cannot be expressed in previous versions of
bytecode. - There are new classes and methods in newer JRE's which won't work
with older ones.
If you really, really want (tip: you don't), you can force the compiler to treat the source as one version of Java and emit bytecode for another, using something like this:
javac -source 1.8 -target 1.6 MyClass.java
Source: A program made with Java 8 can be run on Java 7?
edited 42 mins ago
answered 1 hour ago
Common ManCommon Man
2,09721429
2,09721429
add a comment |
add a comment |
In the short term,
the answer is yes. Since both JDK files are downloaded as jar fils it will ok to download both jar files. The reason to not opening after two java versions is as @Elliott said: "in the system is Java 6 can't run Java 8 compiled code, you should be getting an error." That's exactly true but the problem is how to use multiple versions of JDK in a single machine.
Then we have to move on to long term,
The tricky thing is to manage these multiple JDKs and IDEs. It’s a piece of cake if I just use Eclipse for compiling my code because the IDE allows me to configure multiple versions of Java runtime. Unfortunately (or fortunately), I have to use the command line/shell to build my code. So, it is important that I have the right version of JDK present in the PATH and other related environment variables (such as JAVA_HOME).
Manually modifying the environment variables every time I want to switch between JDKs, isn’t a happy task. But, thanks to Windows Powershell, I’m able to write a script that can do the heavy lifting for me.
Basically, what you want to achieve is to set the PATH variable to add the Java bin folder and set the JAVA_HOME environment variable and then launch the correct Eclipse IDE. And, I want to do this with a single command. Let’s do it.
- Open a Windows Powershell.
- I prefer writing custom Windows scripts in my profile file so that it is available to run whenever I open the shell. To edit the profile, run this command:
notepad.exe $profile
- the $profile is a special variable that points to your profile file. - Write the below script in the profile file and save it.
function myIDE{ $env:Path = “C:vraajavajdk7bin;” $env:JAVA_HOME = “C:vraajavajdk7” C:vraaideeclipseeclipse set-location C:vraaworkspacemyproject play }
function officeIDE{
$env:Path = "C:vraajavajdk6bin;"
$env:JAVA_HOME = "C:vraajavajdk6"
C:officeeclipseeclipse
}
- Close and restart the Powershell.
- Now you can issue the command
myIDE
which will set the proper PATH and environment variables and then launch the Eclipse IDE.
As you can see, there are two functions with different configurations. Just call the function name that you want to launch from the Powershell command line (myIDE
).
If any issue please put a comment below!
add a comment |
In the short term,
the answer is yes. Since both JDK files are downloaded as jar fils it will ok to download both jar files. The reason to not opening after two java versions is as @Elliott said: "in the system is Java 6 can't run Java 8 compiled code, you should be getting an error." That's exactly true but the problem is how to use multiple versions of JDK in a single machine.
Then we have to move on to long term,
The tricky thing is to manage these multiple JDKs and IDEs. It’s a piece of cake if I just use Eclipse for compiling my code because the IDE allows me to configure multiple versions of Java runtime. Unfortunately (or fortunately), I have to use the command line/shell to build my code. So, it is important that I have the right version of JDK present in the PATH and other related environment variables (such as JAVA_HOME).
Manually modifying the environment variables every time I want to switch between JDKs, isn’t a happy task. But, thanks to Windows Powershell, I’m able to write a script that can do the heavy lifting for me.
Basically, what you want to achieve is to set the PATH variable to add the Java bin folder and set the JAVA_HOME environment variable and then launch the correct Eclipse IDE. And, I want to do this with a single command. Let’s do it.
- Open a Windows Powershell.
- I prefer writing custom Windows scripts in my profile file so that it is available to run whenever I open the shell. To edit the profile, run this command:
notepad.exe $profile
- the $profile is a special variable that points to your profile file. - Write the below script in the profile file and save it.
function myIDE{ $env:Path = “C:vraajavajdk7bin;” $env:JAVA_HOME = “C:vraajavajdk7” C:vraaideeclipseeclipse set-location C:vraaworkspacemyproject play }
function officeIDE{
$env:Path = "C:vraajavajdk6bin;"
$env:JAVA_HOME = "C:vraajavajdk6"
C:officeeclipseeclipse
}
- Close and restart the Powershell.
- Now you can issue the command
myIDE
which will set the proper PATH and environment variables and then launch the Eclipse IDE.
As you can see, there are two functions with different configurations. Just call the function name that you want to launch from the Powershell command line (myIDE
).
If any issue please put a comment below!
add a comment |
In the short term,
the answer is yes. Since both JDK files are downloaded as jar fils it will ok to download both jar files. The reason to not opening after two java versions is as @Elliott said: "in the system is Java 6 can't run Java 8 compiled code, you should be getting an error." That's exactly true but the problem is how to use multiple versions of JDK in a single machine.
Then we have to move on to long term,
The tricky thing is to manage these multiple JDKs and IDEs. It’s a piece of cake if I just use Eclipse for compiling my code because the IDE allows me to configure multiple versions of Java runtime. Unfortunately (or fortunately), I have to use the command line/shell to build my code. So, it is important that I have the right version of JDK present in the PATH and other related environment variables (such as JAVA_HOME).
Manually modifying the environment variables every time I want to switch between JDKs, isn’t a happy task. But, thanks to Windows Powershell, I’m able to write a script that can do the heavy lifting for me.
Basically, what you want to achieve is to set the PATH variable to add the Java bin folder and set the JAVA_HOME environment variable and then launch the correct Eclipse IDE. And, I want to do this with a single command. Let’s do it.
- Open a Windows Powershell.
- I prefer writing custom Windows scripts in my profile file so that it is available to run whenever I open the shell. To edit the profile, run this command:
notepad.exe $profile
- the $profile is a special variable that points to your profile file. - Write the below script in the profile file and save it.
function myIDE{ $env:Path = “C:vraajavajdk7bin;” $env:JAVA_HOME = “C:vraajavajdk7” C:vraaideeclipseeclipse set-location C:vraaworkspacemyproject play }
function officeIDE{
$env:Path = "C:vraajavajdk6bin;"
$env:JAVA_HOME = "C:vraajavajdk6"
C:officeeclipseeclipse
}
- Close and restart the Powershell.
- Now you can issue the command
myIDE
which will set the proper PATH and environment variables and then launch the Eclipse IDE.
As you can see, there are two functions with different configurations. Just call the function name that you want to launch from the Powershell command line (myIDE
).
If any issue please put a comment below!
In the short term,
the answer is yes. Since both JDK files are downloaded as jar fils it will ok to download both jar files. The reason to not opening after two java versions is as @Elliott said: "in the system is Java 6 can't run Java 8 compiled code, you should be getting an error." That's exactly true but the problem is how to use multiple versions of JDK in a single machine.
Then we have to move on to long term,
The tricky thing is to manage these multiple JDKs and IDEs. It’s a piece of cake if I just use Eclipse for compiling my code because the IDE allows me to configure multiple versions of Java runtime. Unfortunately (or fortunately), I have to use the command line/shell to build my code. So, it is important that I have the right version of JDK present in the PATH and other related environment variables (such as JAVA_HOME).
Manually modifying the environment variables every time I want to switch between JDKs, isn’t a happy task. But, thanks to Windows Powershell, I’m able to write a script that can do the heavy lifting for me.
Basically, what you want to achieve is to set the PATH variable to add the Java bin folder and set the JAVA_HOME environment variable and then launch the correct Eclipse IDE. And, I want to do this with a single command. Let’s do it.
- Open a Windows Powershell.
- I prefer writing custom Windows scripts in my profile file so that it is available to run whenever I open the shell. To edit the profile, run this command:
notepad.exe $profile
- the $profile is a special variable that points to your profile file. - Write the below script in the profile file and save it.
function myIDE{ $env:Path = “C:vraajavajdk7bin;” $env:JAVA_HOME = “C:vraajavajdk7” C:vraaideeclipseeclipse set-location C:vraaworkspacemyproject play }
function officeIDE{
$env:Path = "C:vraajavajdk6bin;"
$env:JAVA_HOME = "C:vraajavajdk6"
C:officeeclipseeclipse
}
- Close and restart the Powershell.
- Now you can issue the command
myIDE
which will set the proper PATH and environment variables and then launch the Eclipse IDE.
As you can see, there are two functions with different configurations. Just call the function name that you want to launch from the Powershell command line (myIDE
).
If any issue please put a comment below!
answered 1 hour ago
Mr. SemicolonMr. Semicolon
6151422
6151422
add a comment |
add a comment |
JTechseeker is a new contributor. Be nice, and check out our Code of Conduct.
JTechseeker is a new contributor. Be nice, and check out our Code of Conduct.
JTechseeker is a new contributor. Be nice, and check out our Code of Conduct.
JTechseeker is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55448416%2fcan-we-install-two-versions-of-java-jdk-in-windows%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
Can we install two versions of Java JDK in windows Yes. Why is the jar not opening after two JAVA versions in system? Because Java 6 can't run Java 8 compiled code, you should be getting an error, and that error should have led you to the solution (recompile your application with Java 6, because Java 8 can run Java 6 compiled code).
– Elliott Frisch
1 hour ago
Hi Elliott :), Thank you for responding. My application will support only Java 8 and above.Do you have another suggestion?
– JTechseeker
1 hour ago
If your application will only support Java 8 and above, why have you installed Java 6?
– Elliott Frisch
1 hour ago
@JTechseeker set default path of your JRE to 6
– Mustahsan
1 hour ago
@ElliottFrisch : Hi Elliot, We are using oracle ERP instance which require java 6 for opening forms.
– JTechseeker
1 hour ago