Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从记忆棒设置jdk的批处理文件_Java_Batch File - Fatal编程技术网

Java 从记忆棒设置jdk的批处理文件

Java 从记忆棒设置jdk的批处理文件,java,batch-file,Java,Batch File,我在大学里学了一年计算机科学,结果发现很少有计算机安装了jdk。我可以从我的记忆棒中运行EclipsePortable,因此编译java应该是可能的 我想要的是一个在系统上设置环境变量的批处理文件,这样我就可以从我的记忆棒上运行jdk的可移植版本。我似乎无法更改系统变量,但可以更改用户变量 到目前为止,我将下面的代码作为一个批处理文件,尽管它在运行时仍然会给我留下一条javac not recognize消息。最后,我应该指出,我对批处理文件没有太多经验 echo %path% > sto

我在大学里学了一年计算机科学,结果发现很少有计算机安装了jdk。我可以从我的记忆棒中运行EclipsePortable,因此编译java应该是可能的

我想要的是一个在系统上设置环境变量的批处理文件,这样我就可以从我的记忆棒上运行jdk的可移植版本。我似乎无法更改系统变量,但可以更改用户变量

到目前为止,我将下面的代码作为一个批处理文件,尽管它在运行时仍然会给我留下一条javac not recognize消息。最后,我应该指出,我对批处理文件没有太多经验

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文件夹和文件

    • 无需实际永久设置环境变量

      只需为程序的当前会话设置它们。这是我用来启动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文件夹和文件

        • 我们学校的电脑没有安装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”