⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jdk_deployment.htm

📁 写给JSP初级程序员的书
💻 HTM
字号:
<html>
<!-- #BeginTemplate "/Templates/more.dwt" --> 
<head>
<!-- #BeginEditable "doctitle" --> 
<title>csdn_JDK配置问题</title>
<!-- #EndEditable --> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<STYLE type=text/css>
A:link {
	COLOR: #000000; FONT-FAMILY:verdana,宋体,新宋体; TEXT-DECORATION: none
}
A:visited {
	COLOR: #333399; FONT-FAMILY:verdana,宋体,新宋体; TEXT-DECORATION: none
}
A:active {
	COLOR: #ff0000; FONT-FAMILY:verdana,宋体,新宋体; TEXT-DECORATION: none
}
A:hover {
	COLOR: black; TEXT-DECORATION: underline
}
BODY {
	 COLOR: #000000; FONT-SIZE:9pt; LETTER-SPACING: normal; LINE-HEIGHT: 150%; WORD-SPACING: 2em
}
TH {
	FONT-SIZE: 9pt
}
TD {
	FONT-SIZE: 9pt
}
TD.page {
	COLOR: #000000; FONT-SIZE:9pt; LETTER-SPACING: normal; LINE-HEIGHT: 150%; WORD-SPACING: 2em
}
TD.title {
	COLOR: #000000; FONT-FAMILY:verdana,宋体,新宋体
}
TD.detail {
	COLOR: #9966ff; FONT-FAMILY:verdana,宋体,新宋体
}
</STYLE>

</head>
<body bgcolor="#FFFFFF" text="#000000" >
<div align="center"></div>
<table width="700" border="0" align="center">
  <tr> 
    <table width="700" border="1" cellpadding="1" cellspacing="0" bordercolorlight="#9898ba" bordercolordark="#000000">
        
      </table>
      <table width="700" cellspacing="0" cellpadding="0" bgcolor="9898ba" border="0">
        <tr valign="middle"></tr>
      </table>
      <div align="center"><b></div>
      
      <br>
      <table width="700" border="0">
        <tr> 
          <td width="20">&nbsp;</td>
          <td colspan="2"> 
            <div align="center"> 
              <h3><b><!-- #BeginEditable "5" --><font face="Verdana, Arial, Helvetica, sans-serif" >JDK</font><font >配置问题</font><!-- #EndEditable --></b></h3>
            </div>
          </td>
          <td width="20">&nbsp;</td>
        </tr>
        <tr> 
          <td width="20">&nbsp;</td>
          <td  colspan="2"><!-- #BeginEditable "6" -->看到论坛上那么多人问关于JDK配置的问题,特别是配置之后,编译java文件的时候,总是碰到这样一个问题,错误提示为:<br>
            ================================================================================================= 
            <br>
            Microsoft Windows 2000 [Version 5.00.2195] <br>
            (C) 版权所有 1985-1998 Microsoft Corp. 
            <p>C:\&gt;javac HelloWorld.java </p>
            <p>C:\&gt;java HelloWorld <br>
              Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError: 
              HelloWorld </p>
            <p>C:\&gt; <br>
              以上为出错信息 <br>
              源程序如下: <br>
              class HelloWorld { <br>
              public static void main(String[] args) { <br>
              // Display &quot;Hello World!&quot; <br>
              System.out.println(&quot;Hello World!&quot;); <br>
              } <br>
              } </p>
            <p>编译通过 运行怎么就Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError: 
              HelloWorld???????/ <br>
              =================================================================================================== 
            </p>
            对于以上的问题,大家一贯的解决方法为,把HelloWorld.java文件所在目录的路径加入参数classpath中,如:set classpath=%classpath%;.;……(这里要注意其中的“.;”,一会儿我们做个试验看看到底是什么意思)。我试过了,好像不行,不知道是不是我没有配置好。至于给这个问题解答的网友有没有具体实践过,我不得而知。于是,我自己做了一次尝试。<br>
            我使用Win2000+JDK1.30,在java.sun.com下载j2sdk1_3_0-win.exe,然后点击安装,安装系统默认的路径,安装到c:盘,即:c:\jdk130。安装完成需要配置环境,这涉及到三个参数:path、classpath、java_home。在我的电脑-》属性-》高级-》环境变量 
            中,分别添加这三个变量,他们的值分别为:<br>
            <br>
            <table width="80%" border="1" cellspacing="0" cellpadding="0" align="center">
              <tr> 
                <td bgcolor="006699"> 
                  <div align="center"><font color="#FFFFFF"><b>name</b></font></div>
                </td>
                <td bgcolor="006699"> 
                  <div align="center"><font color="#FFFFFF"><b>value</b></font></div>
                </td>
              </tr>
              <tr> 
                <td>java_home</td>
                <td>c:\jdk130</td>
              </tr>
              <tr> 
                <td>classpath</td>
                <td>.;C:\jdk13\lib\tools.jar;C:\jdk13\lib\dt.jar;C:\jdk13\bin;</td>
              </tr>
              <tr> 
                <td>path</td>
                <td>C:\jdk13\bin;</td>
              </tr>
            </table>
            <br>
            然后确定就可以了。<font color="#FF0000"><br>
            <br>
            注解:classpath用于指明所有用于引用的类所在的目录,它允许用户把自己的类放在不同的目录中,但应该让JDK编译工具知道它们在那里。例如:set 
            classpath=.;C:\jdk13\lib\tools.jar;C:\jdk13\lib\dt.jar;C:\jdk13\bin;命令中的第一个圆点指明classpath当前的工作目录。这个圆点非常有用,当不愿意输入完整的当前目录路径时,可以用它来代替,java程序允许这么做。</font><br>
            <br>
            在d:新建子目录java,编写一个java文件,名字叫Hello.java,进入dos模式,进入到目录d:\java,然后敲入javac 
            Hello.java,编译通过。然后可以使用java Hello运行生成的class文件,没有问题,结果正常输出。若是我们在Hello.java文件中的第一句加入:package 
            hello; ,然后编译,没有出现错误,运行时我们会看到如下错误信息:<br>
            Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError: 
            Hello (wrong<br>
            hello/Hello)<br>
            at java.lang.ClassLoader.defineClass0(Native Method)<br>
            at java.lang.ClassLoader.defineClass(ClassLoader.java:486)<br>
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.<br>
            1)<br>
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)<br>
            at java.net.URLClassLoader.access$100(URLClassLoader.java:56)<br>
            at java.net.URLClassLoader$1.run(URLClassLoader.java:195)<br>
            at java.security.AccessController.doPrivileged(Native Method)<br>
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)<br>
            at java.lang.ClassLoader.loadClass(ClassLoader.java:297)<br>
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)<br>
            at java.lang.ClassLoader.loadClass(ClassLoader.java:253)<br>
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313) <br>
            <br>
            这时,我们在编译的时候,应该这样:javac -d . Hello.java<br>
            这样会在当前目录下产生一个新的子目录,目录名字就是hello。<br>
            我们可以用一下两种方法运行编译好的文件,在当前目录下,敲入:java hello/Hello或者java hello.Hello ,这样我们就可以看到运行结果了。<br>
            <font color="#FF0000"><br>
            这里有个问题:</font>若是进入目录hello中,然后敲入:java Hello 运行,则会出现错误:<br>
            <br>
            Exception in thread &quot;main&quot; java.lang.NoClassDefFoundError: 
            Hello(wrong<br>
            hello/Hello)<br>
            at java.lang.ClassLoader.defineClass0(Native Method)<br>
            at java.lang.ClassLoader.defineClass(ClassLoader.java:486)<br>
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.<br>
            1)<br>
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)<br>
            at java.net.URLClassLoader.access$100(URLClassLoader.java:56)<br>
            at java.net.URLClassLoader$1.run(URLClassLoader.java:195)<br>
            at java.security.AccessController.doPrivileged(Native Method)<br>
            at java.net.URLClassLoader.findClass(URLClassLoader.java:188)<br>
            at java.lang.ClassLoader.loadClass(ClassLoader.java:297)<br>
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)<br>
            at java.lang.ClassLoader.loadClass(ClassLoader.java:253)<br>
            at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313) <br>
            <br>
            和上面的错误信息一摸一样,不知道该如何解决?大家帮忙看看,为什么进入目录hello中之后,就不能运行编译好的class文件。<br>
            <!-- #EndEditable --></td>
          <td width="20">&nbsp;</td>
        </tr>
        <tr> 
          <td width="20" height="11">&nbsp;</td>
          <td width="541" height="11"><!-- #BeginEditable "7" --><!-- #EndEditable --></td>
          <td width="101" height="11"> 
            
          </td>
          <td width="20" height="11">&nbsp;</td>
        </tr>
      </table><div align="center"> <br>
      </div>
      
    </td>
  </tr>
</table>
<div align="center"> 
  
  <br>
</div>
</body>
<!-- #EndTemplate -->
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -