怎么用javac命令编译java代码?

charlesxu 2012-08-03 11:27:53
用的jdk1.5,已经设置环境变量了。网上下载的web项目,想修改其中1个java文件然后编译,并替换web-info下的class文件。

这个java文件的package和需要导入的jar包如下,请问编译命令怎么写呢?命令里需要加上classpath的参数吗?


package com.infosoftglobal.fusioncharts;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.ServletContext;
import javax.sql.DataSource;
import com.infosoftglobal.fusioncharts.Constants;

public class DBConnection {

//省略1万字
}




还有,这个web项目的jsp在一个目录下,java文件在另一个目录下,怎么导入myeclipse呢?
...全文
377 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
你这个带有 package,得这样处理

javac -d . -cp xxxx com/infosoftglobal/fusioncharts/DBConnection.java
老紫竹 2012-08-03
  • 打赏
  • 举报
回复
javac -cp 你的CLASSPAT路径 你的.java文件
charlesxu 2012-08-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

javac -cp 你的CLASSPAT路径 你的.java文件
[/Quote]

我用D:\test\test\com\infosoftglobal\fusioncharts>javac -cp C:\java\jdk15\lib *.java这个命令来编译的,报的如下错误,好像是有个叫servlet-api.jar的包找不到,可是已经放到上面的目录里了

DBConnection.java:14: package javax.servlet does not exist
import javax.servlet.ServletContext;
^
DBConnection.java:80: cannot find symbol
symbol : class ServletContext
location: class com.infosoftglobal.fusioncharts.DBConnection
public Connection getConnection(ServletContext context) {
^
InitServlet.java:4: package javax.servlet does not exist
import javax.servlet.ServletConfig;
^
InitServlet.java:5: package javax.servlet does not exist
import javax.servlet.ServletContext;
^
InitServlet.java:6: package javax.servlet does not exist
import javax.servlet.ServletException;
^
InitServlet.java:15: package javax.servlet.http does not exist
public class InitServlet extends javax.servlet.http.HttpServlet implements java
x.servlet.Servlet {
^
InitServlet.java:15: package javax.servlet does not exist
public class InitServlet extends javax.servlet.http.HttpServlet implements java
x.servlet.Servlet {

^
InitServlet.java:44: cannot find symbol
symbol : class ServletConfig
location: class com.infosoftglobal.fusioncharts.InitServlet
public void init(ServletConfig config) throws ServletException {
^
InitServlet.java:44: cannot find symbol
symbol : class ServletException
location: class com.infosoftglobal.fusioncharts.InitServlet
public void init(ServletConfig config) throws ServletException {
^
InitServlet.java:28: cannot find symbol
symbol : variable super
location: class com.infosoftglobal.fusioncharts.InitServlet
super.destroy();
^
InitServlet.java:36: cannot find symbol
symbol : variable super
location: class com.infosoftglobal.fusioncharts.InitServlet
return super.getServletInfo();
^
InitServlet.java:49: cannot find symbol
symbol : class ServletContext
location: class com.infosoftglobal.fusioncharts.InitServlet
ServletContext ctx = config.getServletContext();
^
InitServlet.java:59: cannot find symbol
symbol : variable super
location: class com.infosoftglobal.fusioncharts.InitServlet
super.init(config);
^
13 errors
charlesxu 2012-08-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

myeclipse点击file---》import---》Existing Project into Workspace
你是选的一个工程文件,不是单独去选择webroot或者src文件夹啊
[/Quote]

我就是选的那个文件夹,里面包含了webinfo和src。这个web工程的下载路径如下:
http://www.fusioncharts.com/Common/DownloadManager.asp?resource=FusionCharts_JSP

大家可以下载看看,到底怎么导入到MyEclipse里,多谢
YAVA_2009 2012-08-03
  • 打赏
  • 举报
回复
myeclipse可以自动编译的
YAVA_2009 2012-08-03
  • 打赏
  • 举报
回复
myeclipse点击file---》import---》Existing Project into Workspace
你是选的一个工程文件,不是单独去选择webroot或者src文件夹啊
主要特性Java 语言是简单的:Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。Java 语言是面向对象的:Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。Java 语言全面支持动态绑定,而 C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。Java语言是分布式的:Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括 URL、URLConnection、Socket、ServerSocket 等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。Java 语言是健壮的:Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。Java语言是安全的:Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。Java 语言是体系结构中立的:Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。Java 语言是可移植的:这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。Java 语言是解释型的:如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。Java 是高性能的:与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++。Java 语言是多线程的:在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子类将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为 synchronized)。Java 语言是动态的:Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧