java 命令行调用,更改当前路径,程序运行出错
自己的源程序是在F:\parser\ParserDemo.java,
使用命令行:javac -classpath stanford-parser.jar;. ParserDemo.java编译,
命令行:java -cp stanford-parser.jar;. Parser运行
都没有问题。
但是当我在c++程序中使用用命令行(java -cp stanford-parser.jar;. Parser)调用改程序就会出错。提示:java.lang.NoClassDefFoundError:...
后来发现只要更改命令行当前路径就会出错,猜测源代码路径不多,添加一个路径
java -cp F:\\parser\\stanford-parser.jar;f:\\parser; ParserDemo
再试一切ok。
注意:在程序中如果有使用相对路径的文件,比如打开一个文件aaa.txt,他正好在f:\parser目录下,当你从命令行运行程序时,如果当前路径不在f:\parser,那么就会报错,提示找不到该文件,所以要在别的地方调用该程序,最好使用绝对路径。
相关文档:
1. Multiply-Thread
Locks offer two primary features: mutual exclusion and visibility. Mutual exclusion means only one thread at a time may hold a given lock, so only one thread at a time will be using the shared data. Visibility is to ensure that changes made to shared data prior to releasing a lo ......
JAVA连接数据库大全
1.Oracle8/8i/9i数据库(thin模式)
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:ts"; //ts为数据库的SID
String user="sa";
String password="";
Connection conn= DriverManager.getConnection(url,u ......
用ServerSocket和Socket来编写服务器程序和客户程序,是Java网络编程的最基本的方式。这些服务器程序或客户程序在运行过程中常常会阻塞。例如当一个线程执行ServerSocket的accept()方法时,假如没有客户连接,该线程就会一直等到有了客户连接才从accept()方法返回。再例如当线程执行Socket的read()方法时,如果输入流中没有 ......
五个有用的过滤器
一、使浏览器不缓存页面的过滤器
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 用于的使 Browser 不缓存页面的过滤器
*/
public class ForceNoCacheFilter implements Filter { ......
服务器中转消息,是费时的事,可以加入多线程。这样以来,会产生很多线程。可以运用线程池来管理。
这里运用java.util.concurrent包的Executors.newCachedThreadPool来管理。
废话少说,上代码:
服务器端:MySocketServer.java
/*
* To change this template, choose Tools | Templates
* and open the ......