怎么用cmd(命令行)读取java文件······

陈志凯 2011-01-20 09:47:04
在我的E盘的workplace里放置了工程文件a,在工程目录下有包a,包a里边有个java文件a,
现在怎么用cmd命令读取这个文件呢?

在我工程里边需要导入这些东西:
怎么导入: XXX.jar (该文件在本项目的lib里边的)
怎么导入软件包 javax.jms
怎么导入:important XXX
拜托大家帮帮忙
...全文
814 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
陈志凯 2011-01-21
  • 打赏
  • 举报
回复
还没人回答,自己再顶自己!···
陈志凯 2011-01-21
  • 打赏
  • 举报
回复
c刚才弄错了一点 “cmd语句: java a.Chat”
应该是:
java ch02.chat2.Chat
期望大家能抽出点时间帮忙看看····
陈志凯 2011-01-21
  • 打赏
  • 举报
回复



如果我的a.java文件内容的方法是如下:(不需要导入任何jar文件,即开头没有important这堆玩意)

package a;

public class a {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Hello!");
}

}

则用cmd编译成功后,用cmd语句:java a.a 能正常运行,输出:Hello!


但如果是类似于如下java文件,用按照6楼的方法能编译成功, 再用cmd语句: java a.Chat 但却不能运行,为什么呢,晕死了~~~~
package ch02.chat2;
import java.io.*;
import javax.jms.*;
import javax.naming.*;

public class Chat implements javax.jms.MessageListener{

private static TopicSession pubSession;
private TopicPublisher publisher;
private TopicConnection connection;
private String username;


/*用于初始化Chat(聊天)的构造函数 */
public Chat(String topicFactory,String topicName,String username) throws Exception
{
//使用jndi.propertirs文件获得一个jndi连接
//Properties env=new Properties();
//env.put(Context.SECURITY_PRINCIPAL, "system");
//env.put(Context.SECURITY_CREDENTIALS, "manager");
//env.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.activemq.jndi.ActiveMQInitialContextFactory");
//env.put(Context.PROVIDER_URL, "tcp://localhost:61616");
//InitialContext ctx=new InitialContext(env);

InitialContext ctx=new InitialContext();

//查找一个JMS连接工厂并创建连接
TopicConnectionFactory conFactory=(TopicConnectionFactory)ctx.lookup(topicFactory);
TopicConnection connection=conFactory.createTopicConnection();


//ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory("vm://localhost");

//TopicConnection connection=factory.createTopicConnection();


//创建两个JMS会话对象
TopicSession pubSession=connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
TopicSession subSession=connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);

//查找一个JMS主题
Topic chatTopic=(Topic)ctx.lookup(topicName);


//创建一个JMS发布者和订阅者。createSubsession中附加的参数是一个消息
//选择器(null)和noLocal标记的一个真值,它表明这个发布者生产的消息不应被自己消费
TopicPublisher publisher=pubSession.createPublisher(chatTopic);
publisher.setTimeToLive(3600000); //设置有效期为2一小时
TopicSubscriber subcriber=subSession.createSubscriber(chatTopic, null, true);

//设置一个JMS消息倾听器
subcriber.setMessageListener(this);

//初始化Chat应用程序变量
this.connection=connection;
this.publisher=publisher;
this.pubSession=pubSession;
this.username=username;

//起动JMS连接,允许传送消息
connection.start();


}


/*接受来自TopicSubcriber的消息*/
public void onMessage(Message message)
{
TextMessage textMessage=(TextMessage)message;
try {
System.out.println(textMessage.getText());
} catch (JMSException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}


/*使用发布者创建并发送消息*/
protected void writeMessage(String text) throws JMSException
{
TextMessage message=pubSession.createTextMessage();
message.setText(text);
message.setStringProperty("username", username);
message.setIntProperty("JMSXGroupSeq", 3);
publisher.publish(message);
System.out.println(message);
}


/*关闭JMS连接*/
public void close() throws JMSException
{
connection.close();
}



/*运行聊天客户端*/
public static void main(String[] args)
{
try
{

//Chat c=new Chat();
//c.writeMessage("helle");
//c.close();

if(args.length!=3)
{
System.out.println("Factory,Topic,or username missing!");
}

else
{
//args[0]=topicFactory,args[1]=topicname,args[2]=username
Chat chat=new Chat(args[0],args[1],args[2]);

//从命令行中读取
BufferedReader commandLine=new java.io.BufferedReader(new InputStreamReader(System.in));

//循环读取,直到键入"exit" 为止
while(true)
{
String s=commandLine.readLine();
if(s.equalsIgnoreCase("exit"))
{
chat.clone();
System.exit(0);
}
else
chat.writeMessage(s);
}

}
}
catch(Exception e)
{
e.printStackTrace();
}

}



}

陈志凯 2011-01-20
  • 打赏
  • 举报
回复
非常感谢六楼!!
万分感谢!
xiyang2611 2011-01-20
  • 打赏
  • 举报
回复
package pack1;

import pack2.Show;

public class testMain {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Show show = new Show();
show.showMsg() ;
}

}
、*************************************************************

package pack2;

import org.apache.log4j.Logger;
public class Show {

public void showMsg(){
Logger log = Logger.getLogger("log") ;
log.info("this is show msg! ") ;
}

}
*******************************************************************


F:\asiainfo_work\test\src>set classpath=.;F:\asiainfo_work\test\lib\log4j-1.2
5.jar

F:\asiainfo_work\test\src>javac pack2\Show.java

F:\asiainfo_work\test\src>javac pack1\testMain.java

F:\asiainfo_work\test\src>java pack1.testMain
log4j:WARN No appenders could be found for logger (23).
log4j:WARN Please initialize the log4j system properly.

F:\asiainfo_work\test\src>


这个是cmd编译和执行 ,赶紧的 ,明白了也答复一下 ,我要删掉项目上床睡觉了




陈志凯 2011-01-20
  • 打赏
  • 举报
回复
如果需要导入jar文件呢,怎么编写呢···
qybao 2011-01-20
  • 打赏
  • 举报
回复
javac -cp your_package_path you_java.java
不善^ 2011-01-20
  • 打赏
  • 举报
回复
编译的时候如果有包名 也要把包名带上
要完整的路径才能编译啊
陈志凯 2011-01-20
  • 打赏
  • 举报
回复
自己顶自己····这贴我已经重发了4遍了,望各位前辈、朋友能帮帮忙···
陈志凯 2011-01-20
  • 打赏
  • 举报
回复
怎么没人回答呀,难道是这25分太少了?
我只想要读取这个a.java的方法,

当用javac编译文件时,系统提示需要导入外边的jar包和import里边的东东·····

51,411

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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