Java 从记忆棒设置jdk的批处理文件
我在大学里学了一年计算机科学,结果发现很少有计算机安装了jdk。我可以从我的记忆棒中运行EclipsePortable,因此编译java应该是可能的 我想要的是一个在系统上设置环境变量的批处理文件,这样我就可以从我的记忆棒上运行jdk的可移植版本。我似乎无法更改系统变量,但可以更改用户变量 到目前为止,我将下面的代码作为一个批处理文件,尽管它在运行时仍然会给我留下一条javac not recognize消息。最后,我应该指出,我对批处理文件没有太多经验Java 从记忆棒设置jdk的批处理文件,java,batch-file,Java,Batch File,我在大学里学了一年计算机科学,结果发现很少有计算机安装了jdk。我可以从我的记忆棒中运行EclipsePortable,因此编译java应该是可能的 我想要的是一个在系统上设置环境变量的批处理文件,这样我就可以从我的记忆棒上运行jdk的可移植版本。我似乎无法更改系统变量,但可以更改用户变量 到目前为止,我将下面的代码作为一个批处理文件,尽管它在运行时仍然会给我留下一条javac not recognize消息。最后,我应该指出,我对批处理文件没有太多经验 echo %path% > sto
echo %path% > stored_path.txt
setx PATH "%cd%PortableApps\CommonFiles\OpenJDK\bin;%PATH%"
setx JAVA_HOME "%cd%PortableApps\CommonFiles\OpenJDK"
setx CLASSPATH "%cd%PortableApps\CommonFiles\OpenJDK\bin;%CLASSPATH%"
谢谢你能给我的任何帮助
更新时间:2013年10月4日-16时54分:
只是澄清一下,Eclipse本身工作良好,并且完全可用。然而,我有一个保存在记忆棒上的jdk,它的工作原理就像我从一个打开到该目录的控制台调用javac一样,它工作正常。我想知道的是,windows是否可以通过更改用户环境变量从系统上的任何目录识别此命令
我刚刚想到的一个想法(我现在不能测试它),就是在另一个文件夹中创建javac exe文件的快捷方式会起作用吗?无需实际永久设置环境变量强> 只需为程序的当前会话设置它们。这是我用来启动eclipse安装程序的批处理脚本
@echo off
setlocal
pushd "%~dp0"
if not exist eclipse.exe exit /b 1
if not exist jdk1.6.0_45\ exit /b 2
if not exist apache-maven-2.2.1\ exit /b 3
set "JAVA_HOME=%~dp0\jdk1.6.0_45"
set "MAVEN=%~dp0\apache-maven-2.2.1"
set "M2_HOME=%MAVEN%"
set "MAVEN_OPTS=-Xms512m -Xmx1024m"
set "CLASSPATH=.;%JAVA_HOME%\jre\lib\ext;%CLASSPATH%"
set "PATH=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%MAVEN%\bin;%PATH%"
rem M2_REPO
mklink /d jre "jdk1.6.0_45\jre"
start eclipse.exe -vm "%JAVA_HOME%\bin\javaw.exe" -data ".\workspace"
rem cmd /k
popd
endlocal
exit /b 0
这将设置我需要的所有内容,并使用这些设置启动eclipse,而无需修改变量
我的文件夹结构:
- 蚀\
- jdk1.6.0_45\
- apache-maven-2.2.1\
- 工作空间\
- eclipse.exe
- 所有其他eclipse文件夹和文件
- 蚀\
- jdk1.6.0_45\
- apache-maven-2.2.1\
- 工作空间\
- eclipse.exe
- 所有其他eclipse文件夹和文件
- 无需实际永久设置环境变量强>
只需为程序的当前会话设置它们。这是我用来启动eclipse安装程序的批处理脚本
@echo off
setlocal
pushd "%~dp0"
if not exist eclipse.exe exit /b 1
if not exist jdk1.6.0_45\ exit /b 2
if not exist apache-maven-2.2.1\ exit /b 3
set "JAVA_HOME=%~dp0\jdk1.6.0_45"
set "MAVEN=%~dp0\apache-maven-2.2.1"
set "M2_HOME=%MAVEN%"
set "MAVEN_OPTS=-Xms512m -Xmx1024m"
set "CLASSPATH=.;%JAVA_HOME%\jre\lib\ext;%CLASSPATH%"
set "PATH=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;%MAVEN%\bin;%PATH%"
rem M2_REPO
mklink /d jre "jdk1.6.0_45\jre"
start eclipse.exe -vm "%JAVA_HOME%\bin\javaw.exe" -data ".\workspace"
rem cmd /k
popd
endlocal
exit /b 0
这将设置我需要的所有内容,并使用这些设置启动eclipse,而无需修改变量
我的文件夹结构:
- 我们学校的电脑没有安装git,所以我把便携式版本的放在我的U盘上。除了git之外,它还为您提供了一个可移植的工具,它是大多数标准linux工具(如
ls
和df
)的首选工具
因此,我使用了shell,而不是windows命令行。然后,对于shell,我创建了一个小bash脚本来设置环境路径。根据要点:
要使脚本(“env_setup.sh”)在每次git shell
启动时,您需要将脚本放入中的“etc/”目录中
您的msysgit文件夹
之后,您需要编辑“profile”-文件,该文件将被执行
每次发射时都会被炮弹击中
将以下行添加到
文件的结尾:
# Setup the environment-variables
. /etc/env_setup.sh
这是设置环境变量的脚本:
#/bin/bash
#资源:
# http://stackoverflow.com/questions/623518
# http://stackoverflow.com/questions/59895
# http://markashleybell.com/articles/portable-git-windows-setting-home-environment-variable
#获取此脚本所在的目录:
DIR=$(cd$(dirname“$0”);pwd)
#仅获取闪存驱动器盘符(例如“F”)
FLASH=${DIR:1:1}
echo“我们确定您的USB驱动器位于$FLASH:\\”
#设置闪存驱动器的主路径以获取可移植SSH密钥:
#---您需要将此目录更改为首选的主目录!
export HOME=/$FLASH/PortableApps/git/HOME/luke
echo“我将您的主目录设置为“$Home”;
###---例子---
#将Java Home变量设置为U盘上的JDK:
导出JAVA_HOME=/$FLASH/JDK1.6
#将Java工具添加到JDK文件夹:
导出路径=$PATH:/$FLASH/JDK1.6/bin
#将USB驱动器中的Maven添加到路径:
导出路径=$PATH:/$FLASH/PortableApps/apachemaven/bin
#将Node.js从本地pc添加到您的路径:
导出路径=$PATH:/c/Programms/nodejs
在这里,您可以看到一些示例,包括我在同一个U盘上使用的JDK。它被添加到路径
,因此您可以随时随地编写javac
,并始终使用指定的JDK
注意这只适用于一个会话,并且它只在MSYS外壳中工作 我们学校的电脑没有安装git,所以我把便携式版本的放在我的U盘上。除了git之外,它还为您提供了一个可移植的工具,它是大多数标准linux工具(如
ls
和df
)的首选工具
因此,我使用了shell,而不是windows命令行。然后,对于shell,我创建了一个小bash脚本来设置环境路径。根据要点:
要使脚本(“env_setup.sh”)在每次git shell
启动时,您需要将脚本放入中的“etc/”目录中
您的msysgit文件夹
之后,您需要编辑“profile”-文件,该文件将被执行
每次发射时都会被炮弹击中
将以下行添加到
文件的结尾:
# Setup the environment-variables
. /etc/env_setup.sh
这是设置环境变量的脚本:
#/bin/bash
#资源:
# http://stackoverflow.com/questions/623518
# http://stackoverflow.com/questions/59895
# http://markashleybell.com/articles/portable-git-windows-setting-home-environment-variable
#获取此脚本所在的目录:
DIR=$(cd$(dirname“$0”);pwd)
#仅获取闪存驱动器盘符(例如“F”)
FLASH=${DIR:1:1}
echo“我们确定您的USB驱动器位于$FLASH:\\”
#设置闪存驱动器的主路径以获取可移植SSH密钥:
#---您需要将此目录更改为首选的主目录!
export HOME=/$FLASH/PortableApps/git/HOME/luke
echo“我将您的主目录设置为“$HO”