小编smc*_*mcg的帖子

从java运行交互式命令行应用程序

我通常使用java.lang.ProcessBuilder和java.lang.Process来运行外部命令行程序,它适用于run-and-done命令.例如,这将在工作目录中运行带有参数"myArg"的"myProgram":

List<String> commandLine = new ArrayList<String>();
commandLine.add("myProgram");
commandLine.add("myArg");
ProcessBuilder builder = new ProcessBuilder(commandLine);
builder.redirectErrorStream(true);
Process process = builder.start();
Run Code Online (Sandbox Code Playgroud)

但是,假设我想运行脚本或程序或具有交互式输入的东西(它在启动后提示我输入更多内容).我可以使用类似于上面的代码在Java中执行此操作,还是需要不同的方法?或者是否有一些图书馆可以帮我解决这个问题?

java process

9
推荐指数
1
解决办法
6929
查看次数

如何检查对象是否是某种类型的数组

我有一个对象Field field.

我想检查是否field是类型的对象Foo或数组:Foo[].

Psuedo代码:

if field.getType() is Foo || field.getType is Foo[]
Run Code Online (Sandbox Code Playgroud)

这可能吗?

我试过了

if (field.getType().isArray())
    // do something
Run Code Online (Sandbox Code Playgroud)

但这只允许我检查是否field是一个数组.

相反,这样做只会检查它是否是一个对象 Foo

if (Foo.class.isAssignableFrom(field.getType())
     // do something
Run Code Online (Sandbox Code Playgroud)

知道怎么做吗?

谢谢.

java reflection field

8
推荐指数
1
解决办法
1万
查看次数

Eclipse中的Groovy无法识别导入

我试图在Eclipse中运行Groovy脚本,但Eclipse似乎忽略了我的所有import语句.如果我将鼠标悬停在错误上,它会告诉我要导入相应的类(单击它不会执行任何操作).

我的构建路径和类路径中有必需的jar.

示例代码,非常标准:

package scripts.blah

import foo.Bar;

class FooMain {
    static main(String[] args){
        Bar bar = new Bar();
    }
}
Run Code Online (Sandbox Code Playgroud)

Groovy:无法解析类Bar

任何帮助,将不胜感激.

java eclipse groovy

7
推荐指数
1
解决办法
9777
查看次数

启动期间Tomcat出错:找不到DB名称

在盯着Tomcat时,我收到以下错误:

SEVERE: Exception looking up UserDatabase under key UserDatabase
javax.naming.NameNotFoundException: Name UserDatabase is not bound in this Context
at org.apache.naming.NamingContext.lookup(NamingContext.java:770)
at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
at org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:253)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1049)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Jul 6, 2012 4:32:25 PM org.apache.catalina.startup.Catalina start

SEVERE: Catalina.start: 
LifecycleException:  No UserDatabase component found under key UserDatabase
at org.apache.catalina.realm.UserDatabaseRealm.start(UserDatabaseRealm.java:261)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1049)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at …
Run Code Online (Sandbox Code Playgroud)

java apache tomcat server.xml

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

“ EEEE,MMMM d,yyyy'at'HH:mm”

我正在尝试从字符串转换为日期。例如:2013年9月4日,星期三,下午5:07

我首先将其转换为:2013年9月4日,星期三,5:07 PM

并使用以下代码:

SimpleDateFormat format = new SimpleDateFormat("EEEE, MMMM d, yyyy 'at' hh:mm a");
Run Code Online (Sandbox Code Playgroud)

但是我总是得到不可解析的日期异常。

任何帮助表示赞赏!

java simpledateformat

5
推荐指数
1
解决办法
1万
查看次数

Vim - 跟踪确切的空白计数

在Eclipse和Notepad ++中,我配置了文本编辑器,因此空间在中心有一个半透明点,这样可以很容易地计算空白.我更喜欢在文本编辑中使用空格而不是制表符,在使用像Python这样的空白敏感语言时,此功能至关重要.

我附上了一些虚拟代码的截图,以防我的措辞不明确.

无论如何,有没有办法在Vim(或GVim)中接近这个功能?我认为有突出显示,但这似乎有点不足.通过查看列号,还可以获得良好的老式数学.我还有什么其他选择?

空白的例子

vim whitespace

4
推荐指数
1
解决办法
554
查看次数

无法在Powershell中导入模块

由于此错误,我无法在Powershell中导入任何模块:

PS C:\Users\Administrator> import-module failoverclusters
The term 'import-module' is not recognized as a cmdlet, function, operable program, or     script file. Verify the term and
 try again.
At line:1 char:14
+ import-module  <<<< failoverclusters
Run Code Online (Sandbox Code Playgroud)

这是全新安装的Windows Server 2008 Enterprise.我通过服务器管理器将Powershell安装为Windows功能.我安装Windows Server时没有安装它.

powershell

4
推荐指数
1
解决办法
2万
查看次数

将聚合运算符从 SQL 转换为关系代数

我编写了几个 SQL 查询,希望将其转换为关系代数。但是,一些查询使用聚合运算符,我不知道如何转换它们。值得注意的是,他们使用 COUNT 和 GROUP BY.. HAVING 运算符。

这是架构:

Sailors( sid , sname, rating) Reserves( sid , bid , price) Boats( bid , bname)

这是我正在做的一个例子:找到恰好由 2 个水手预订的所有船只的出价和名称。

SELECT B.bid, B.bname
FROM Boats B, Reserves R
WHERE B.bid = R.bid
GROUP BY R.bid
HAVING 2 = (SELECT COUNT(*)
FROM Reserves R2
WHERE R2.bid = B.bid);
Run Code Online (Sandbox Code Playgroud)

允许的关系代数运算:选择、投影、连接、条件连接、重命名、并集、交集、叉积、除法

sql aggregate relational-algebra

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

Java中包含哪些注释?

我一直在寻找Java中的注释列表,这些注释具有一些有意义的用途并且默认情况下已启用(无需导入任何内容).例如,@ Deprecated,@ SuppressWarning等我虽然找不到一个.它出在某处,还是我们可以编译一个?

java annotations

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