问题
I am trying to install JDK at office laptop but it says I need administrator privileges. I have only access to my own account at work.
How can I install the Java Development Kit without administrator rights?
回答1:
Here is a workaround to install java without admin privileges or without administrator password. For this you need cygwin installed which does not require admin privileges. In the utils make sure you select cabextract.exe to install it.
Fireup cygwin bash shell.
Type cabextract jdk1.6.exe <-- jdk file name
this will extract all the files into the current directory.
Move tools.zip to a new directory and unzip it using cygwin or windows explorer. This will be your java directory.
Hint: Try to subsitite 7zip instead of cabextract and cygwin. If it works it will be much faster.
Edit: This doesn't get you a working JDK with the latest versions of jdk 6 and 7. Many of the jar files (eg rt.jar) are compressed so they need to be decompressed using unpack200.
Just go through each directory looking for files with a .pack extension and unpack them using unpack200, eg: .\jre\bin\unpack200 .\jre\lib\rt.pack .\jre\lib\rt.jar
This allows you to run java programs however I still had trouble with Eclipse as there was some issue with annotations, so there's probably another step that is missing.
In the answers to this similar question on Superuser is available a script that automatically finds all .pack files and unpacks them in the right folders.
回答2:
Starting with Java SE 7u21, Oracle offers a so-called Server JRE for download. This is a standard .tar.gz archive that you can extract anywhere on your computer. Although the download is called JRE, it contains a "normal" JDK subdirectory (including the javac compiler etc.).
Instructions:
- download the "Server JRE" from Java download site
- extract the .tar.gz
- add the bin subdirectory to your PATH
回答3:
Oracle changed the package format in update 102 as pointed by @Webrjn on a previous answer at this question, but the unpack method still works with two more unzip actions:
- The installation executable of the JDK is a zipped file, so just unzip it with 7z to any folder you want.
- Go to the directory
.rsrc/1033/JAVA_CAB10/
. - The only file there is
111
, which is also a zipped file containing tools.zip. Unzip it to gettools.zip
. - So now perform the original unpack process, by unzipping
tools.zip
to your desired java installation path. Open a windows command prompt and run:
for /r %i in (*.pack) do .\bin\unpack200.exe -r -v %i %~pi%~ni.jar
The
unpack200
program complains about garbage at the end of the files, but the unpacked jars are tested ok by 7z.Java source
src.zip
is within the file110
located inside.rsrc/1033/JAVA_CAB9
.
By the way, update 101 only contains the tools.zip file and can be installed with the previous unpack method.
回答4:
Here are all the steps that got the JDK installed on Windows 7 without admin rights.
You need the
cabextract
program to extract the installer files. I tried 7zip but it didn't extract the cab properly. Instead, I used cygwin. You can get thesetup.exe
program from their website, but you must rename it because Windows assumes that anything called "setup" requires admin rights. I renamed it tocygwin.exe
. Run that. It'll ask you where to install. I chose thecygwin
directory in my home directory. When the pop-up asks you which programs to install, type "cabinstall" in the search bar. Expand the "Archive" section and make sure the "cabinstall" is not set to "skip". (Click the "skip" text until the highest number shows.) Proceed with install. This takes a few minutes.Optional: Add
cygwin\bin
to your path. Do this from control panel, user accounts, change my environment variables, edit PATH.Download the JDK. I downloaded jdk-6u45-windows-x64.exe.
In the directory where that file is:
mkdir tmp
cd tmp
cabextract ..\jdk-6u45-windows-x64.exe
Make a new directory for the actual JDK. I used
jdk
in my home directory.Extract the
tools.zip
file into that. It comes with the Java runtime, so you don't need the other files in the original cab, such asjre.msi
.Unpack all the
.pack
files. You can do that manually by running thebin/unpack200
program on them, or use bash (if you installed cygwin above):bash
for f in $(../cygwin/bin/find . -name "*.pack"); do bin/unpack200 $f ${f%.*}.jar; done
Add
jdk/bin
to your PATH (see step 2 above).
回答5:
- Download the JDK
- Extract it by using 7 ZIP (Extract the exe file)
It contains a single file tools.zip, which contains all the files we need. Extract the tools.zip to the desired JDK directory (e.g. “D:\JavaJDK\”). 3. Unpack
Now we need to unpack a few files packed with pack200. We do that by executing this script in a console windows inside the JDK directory (e.g. “D:\JavaJDK\”):
for /R %f in (.\*.pack) do @"%cd%\bin\unpack200" -r -v -l "" "%f" "%~pf%~nf.jar"
Regard that you will have to adjust the path of the unpack200 binary (“D:\JavaJDK\bin\unpack200”) to your chosen directory.
- Congrats you now have a working, portable JDK!
Reference: this link
回答6:
I guess you are on Windows. You cannot install the JDK provided by Oracle without administrator right. What you can do is installing it on an other machine (or find a machine where it is installed) and copy the jdk dir.
回答7:
jdk-8u102-windows-x64.exe no longer works with the unpack method, Oracle seem to have changed the package format.
回答8:
Maybe a good alternative is to use OpenJDK, here is an unnoficial build for windows, so you can download the Zip file extract to any folder and set the JAVA_HOME for your windows user. I ran Android Studio this way.
回答9:
If you can install it on any other machine then this solution will help you.
- Install it on another machine.
- Bring the jdk folder on your machine and set system and classpath variable to the path where you have copied the jdk folder. You should be able to run your programs.
回答10:
http://www.ehow.com/how_6012601_install-java-admin-privileges.html
Here you go man, Good luck. This worked for me.
Instructions on above link
1 Insert your portable USB drive into your home computer's USB slot.
2 On your home computer, navigate to the "Download Java JDK" link in the resources section.
3 Click the red "Download" button. When asked to log-in, click "Skip this step." Click "Save file" to download the file to your computer.
4 Double-click the ".exe" file you downloaded to begin the installation wizard for Java SE 6. Click "Accept" to the License Agreement.
5 On the Custom Setup page, click the small hard-drive buttons next to "Source Code," "Public JRE," and "Java DB" and for each select "Don't install this feature now."
6 Click the "Change..." button on the bottom right corner, then from the drop down menu, under "Look in:" select your portable usb drive. Click "Create New Folder" button in the in the top right corner (the folder icon), and name the new folder "JDK". Select the JDK folder and click "OK."
7 Click "Next" and wait while Java installs.
8 Open Notepad by going to "Start," "Programs," "Accessories" "Notepad."
9 In Notepad, copy-paste the following two-line batch script: set Path=%~d0\JDK\bin;%PATH% cmd
10 Click "File," "Save as," navigate to your USB drive root directory, and type "RunMeForJava.bat" as the name of your file and click "Save."
11 Insert your USB drive into the computer where you do not have Administrator privileges and double-click the ".bat" file in your USB root directory. A Command Prompt window will open. Type "javac" (without the quotes) to see that Java works and is fully installed.
回答11:
The method presented by Lawrence works but you can also use 7-zip
and git bash to do the whole thing without much trouble.
NOTE: git bash
comes with some gnu utils and unpack200
is one of them.
There is another small thing to do though. The src.zip
file which comes with JDK
is not present after the unpacking so to do that you can download the Linux tar.gz
version and unpack it twice with 7-zip
and then copy the missing src.zip
file to the windows unpacked JDK
.
Not having the src.zip
is not a big deal but it will provide you easy access to some JDK sources in tools like Intellij IDEA
.
回答12:
Nice work by @Lawrence by using Cygwin. Let me show you similar steps without using any external tools.
Installing using utilities at the system without admin rights:
This works on Windows 7 or later on a system without admin rights
- Download the latest version of JDK: You can find it here http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Use 7zip tool to extract the executable into a directory. Again extract the inside
tools.zip
file within. - Goto
..\jre\bin
UseSHIFT
andRight Click
and openCommand Prompt
. - Type
unpack200 SRC DST
. Inplace of SRC: Search*.pack
files within the extracted directory, copy paste the directory location of.pack
files, Inplace of DST: Use the same path of.pack
files, and replace the filename with.jar
- Do this for all the
.pack
files available in the directory. (Some 6-8 files are there for JDK8u65) - Launch Eclipse, choose a project, click
Alt+Enter
, click onBuild Path
- Goto
Libraries
, remove available system JRE if any. Click onAdd Library
, chooseJRE System Library
thenNEXT
, ClickAlternate JRE
, click onInstalled JREs
. ClickAdd
,Standard VM
thenNEXT
, chooseDirectory
. - Now choose the directory location of the extracted JDK you performed in step 2, then click
FINISH
,APPLY
thenOK
You must be good to go to run the project without actually installing JDK. Cheers!
回答13:
I have tried several ways of installation, but there is a common problem:
In the worst case, if any installation requires admin privilege, then you will not be able to use 7zip because there is no portable version of 7zip. But, in Windows 10 and later versions of Windows 7(if my memory serves me well), extracting zip file is possible without any program installation: just open the .zip
file with "Windows explorer" and extract them. However, this only works a normal zip file, not with JDK installer.
So, I have tried another way and it works(for oracle jdk 1.8-191): you can install a JDK in other PC where you have privilege, pass it to your company PC, and set it as the JDK to use.
- just intall the JDK in another PC where you have admin privilege, such as that you have at home
- Zip that
JAVA_HOME
folder(the parent folder ofbin
), copy it to a USB driver, and take that to your company. - Unzip in a folder where you have full access, like
C:\Users\<your_name>\java
(because some company also restrict pasting intoProgram Files
or somewhere else, but will never restrict what you do in your personal user folder - Set
JAVA_HOME
variable to there(if you are not allowed to do that, just skip). The same applies to setting up thejava
path(addingbin\java
to PATH variable) - Open Intellij IDEA or Eclipse, setup your new JDK in the IDE to point to there.
- Write a simple Hello World program to verify.
I found this because when I look into the JDK installer, I see very similar structure as in JDK folder. So I suspect the installation only consists of extracting the content into a foler, plus some config, which we can do manually. Looks like that my theory is proved.
来源:https://stackoverflow.com/questions/10891405/installing-jdk-without-administrator-privileges