小编use*_*723的帖子

从java更改命令的工作目录

我需要从我在java项目中的一个包中的函数中执行.exe文件.现在工作目录是java项目的根目录,但是项目子目录中的.exe文件.这是项目的组织方式:

ROOT_DIR
|.......->com
|         |......->somepackage
|                 |.........->callerClass.java
|
|.......->resource
         |........->external.exe
Run Code Online (Sandbox Code Playgroud)

最初我试图通过以下方式直接运行.exe文件:

String command = "resources\\external.exe  -i input -o putpot";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);
Run Code Online (Sandbox Code Playgroud)

但问题是外部.exe需要访问它自己的目录中的一些文件,并一直认为根目录是它的目录.我甚至尝试使用.bat文件来解决问题,但同样的问题也出现了:

Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "resources\\helper.bat"});
Run Code Online (Sandbox Code Playgroud)

并且.bat文件与.exe文件位于同一目录中,但同样的问题也会发生.这是.bat文件的内容:

@echo off
echo starting process...

external.exe -i input -o output

pause
Run Code Online (Sandbox Code Playgroud)

即使我将.bat文件移动到root并修复其内容,问题也不会消失.plz plz plz帮助

java command-line batch-file working-directory

18
推荐指数
2
解决办法
3万
查看次数

从 Java 获取 derby 数据库连接(在 eclipse 中)

我遵循以下说明:

http://www.eclipse.org/articles/article.php?file=Article-EclipseDbWebapps/index.html

为了设置德比数据库服务器并且一切正常。我创建了数据库并且可以轻松访问它。但是,这些说明使用 JSP 来访问我的数据库,我想更改它,以便我可以通过自定义 Java 类访问数据库,但我无法创建与数据库的任何连接。我简单地尝试过:

Connection con = DriverManager.getConnection
    ("jdbc:derby://localhost:1527/features", "root", "root");
Run Code Online (Sandbox Code Playgroud)

注意:这里我的数据库是名称功能

我收到错误:

java.sql.SQLException: 
No suitable driver found for jdbc:derby://localhost:1527/features
Run Code Online (Sandbox Code Playgroud)

我尝试加载驱动程序的类:

Class.forName("org.apache.derby.jdbc.ClientDriver");
Run Code Online (Sandbox Code Playgroud)

我收到错误:

java.lang.ClassNotFoundException: 
    org.apache.derby.jdbc.ClientDriver
Run Code Online (Sandbox Code Playgroud)

我不知道在哪里找到并放置org.apache.derby.jdbc.ClientDriver。为什么在说明中他们只在 META_INF 下添加一个context.xml并且一切正常?我缺少什么?

eclipse tomcat jdbc derby jakarta-ee

3
推荐指数
1
解决办法
8884
查看次数