草庐IT

EXEC_BAD_ACCESS

全部标签

Java exec方法,如何正确处理流

从Java生成和使用外部进程流(IO)的正确方法是什么?据我所知,由于缓冲区大小可能有限,Java端输入流(进程输出)应该在与生成进程输入并行的线程中使用。但我不确定我是否最终需要与那些消费者线程同步,或者仅仅使用waitFor方法等待进程退出是否足够,以确保所有进程输出真的被消耗了吗?I.E是否有可能,即使进程退出(关闭它的输出流),流的java端仍然有未读数据?waitFor实际上是如何知道进程何时完成的?对于有问题的进程,EOF(关闭其输入流的Java端)发出退出信号。我目前处理流的解决方案如下publicclassApplication{privatestaticfinalSt

java - 调用包含 hbm2ddl 任务的 ant 脚本时,Runtime.exec 会卡住吗?

为了启动一个ant脚本,我使用java.lang.Runtime类的exec方法,如下所示:Processprocess=Runtime.getRuntime().Exec(JAVA_HOMEANT_HOME-jar/lib/ant-launcher.jar-BuildFilefile.xml);这个方法,尽管看起来很简单,但是它带来了几个问题,在javadoc中描述如下:BecauseSomenativeplatformsProvideonlylimitedbuffersizeforstandardinputandoutputstreams,failuretopromptlywrit

java - 使用 Runtime.getRuntime().exec(command) 时用户输入到命令行;

我不认为这是可能的,但我一直在使用:Processp=Runtime.getRuntime().exec(command);在命令行上运行命令,但现在我遇到了这样一种情况,我正在运行的命令会要求一些用户输入,例如用户名。这无法通过正在执行的命令的参数来解决,有什么方法可以将用户名传递给同一命令行实例并继续吗?---编辑---我仍然无法让它工作。这些是命令行上的步骤:C:\someProgram.exeLogin:Passowrd:所以我需要在运行时提示时传递登录名和密码。我得到的代码不起作用:try{StringCMD="\"C:\\someProgram\"";Scannerscan

java - "constructor has private access"错误信息

我在Java中工作,遇到了一个非常奇怪的错误。我有一个非常基本的类如下:publicclassClassA{privatestaticLoggerlog=Logger.getLogger(ClassA.class.getName());privatebooleantrace;publicClassA(){trace=log.isTraceEnabled();}publicvoiddoSomething(){//doesstuff}}我可以在我当前的项目中很好地使用这个类。但是,当我构建、打包并安装到我的本地存储库(使用Maven,没有设置远程Artifact存储库)时,其他项目无法正确

Java Spring WS org.springframework.ws.soap.saaj.SaajSoapEnvelopeException : Could not access envelope

我在不同的环境中遇到了springws的奇怪行为。以下在本地tomcat7.0.29上与SoapUI一起工作正常,但确实返回下面提到的错误。servlet.xml:classpath:ws.propertiescom.db.vhs.ws.jaxb.PlacementRequestcom.db.vhs.ws.jaxb.PlacementResponse...scheam.xsd:第一种方法适用于两种环境,第二种方法(placementRequest)返回:ApacheTomcat/7.0.29-ErrorreportHTTPStatus500-Requestprocessingfaile

java - Spring OAuth2 "Full authentication is required to access this resource"

我正在尝试将SpringOAuth2用于我的其余应用程序。但看起来我犯了一个错误,我可以找到我在哪里做的。流程应该是:1.使用用户名和密码从/oauth/token获取token2.使用提供的token向/security发出请求方法安全配置:@Configuration@EnableGlobalMethodSecurity(prePostEnabled=true,proxyTargetClass=true)publicclassMethodSecurityConfigextendsGlobalMethodSecurityConfiguration{@AutowiredprivateS

java - Netbeans 和 Bad 服务配置文件,或构造 Processor 对象时抛出的异常

这里是通过javaCompiler任务从诊断中获取的错误:Badserviceconfigurationfile,orexceptionthrownwhileconstructingProcessorobject:javax.annotation.processing.Processor:Providerorg.netbeans.modules.openide.modules.PatchedPublicProcessornotasubtype我尝试使用JavaCompiler从文件中动态编译一个简单的java类。这个类看起来像:packageweb.others;publicclass

java - 如何捕获 exec-maven-plugin 的输出?

我正在尝试使用exec-maven-plugin作为集成第3方JavaAPI的方式。我正在使用exec:java目标来调用我的java主类。我需要解析API的输出,但是我在插件中没有看到任何允许这样做的特定内容。在maven和/或exec-maven-plugin中有没有办法捕获/保存执行的输出? 最佳答案 随着exec:exec目标,您可以使用outputFile参数(或使用命令行属性exec.outputFile)。 关于java-如何捕获exec-maven-plugin的输出?,

java - 添加附加路径到 exec-maven-plugin

我想向exec-maven-plugin添加一个额外的类路径。除了%classpath之外,我还想添加一个额外的路径到包含资源的目录(/Users/kornp/resources)。目前,我的pom看起来像这样:org.codehaus.mojoexec-maven-plugin1.1.1javaruntime%classpath:/Users/kornp/resourcesorg.drrabbit.maventest.App我该如何配置? 最佳答案 我在源文件夹之外的特定目录中有一些配置文件。所以我为我的pom.xml文件定义了额

java - 非法访问错误 :class <classname> cannot access its superinterface <interfacename>

我有类Assembly实现IAssembly。启动应用程序时出现以下错误Causedby:java.lang.IllegalAccessError:classcannotaccessitssuperinterfaceatjava.lang.ClassLoader.defineClass1(NativeMethod)汇编代码classpackage.AssemblyimplementsIAssembly{}组装interfaceIAssembly{//note-thisisnotpublic,sousesdefaultprotected}Assembly和IAssembly存在于两个不同