是否存在仅在给定文件存在时才执行块的ANT任务?我有一个问题,我有一个通用的ant脚本,应该做一些特殊的处理,但只有在存在特定的配置文件.
我正在开发一个项目,它有很多我个人控制的依赖项.每当命名空间映射在需求中发生变化时,我都需要运行composer update
以刷新Composer自动加载文件,以便可以拾取命名空间映射.
但是,如果我vendor/
直接在目录中进行更改,则无需查看最新版本composer update
- 我只需刷新自动加载文件即可.对于在GitHub上托管数十个要求的项目,composer update
可能需要几分钟.
有没有办法在不必运行的情况下composer
刷新自动加载文件?composer update
我在Eclipse项目中使用TestNG设置测试,但是我得到一个奇怪的错误:当我尝试从业务类生成测试类时,我得到一个弹出窗口,上面写着"Grid not editable"(标题)"编译单元不可编译,或者不是junit.framework.TestCase的次级.修复和tyr再次"(正文).不知何故,Eclipse似乎认为我想创建JUnit类,我无法理解.任何线索?
组态:
我有一个Ajax调用,目前需要同步.但是,在执行此Ajax调用时,浏览器界面会冻结,直到调用返回.在超时的情况下,这可能会冻结浏览器很长一段时间.
有没有办法让浏览器(任何浏览器)刷新用户界面,但不执行任何Javascript?理想情况下,这将是一些命令window.update()
,它将让用户界面线程刷新.
如果这是可能的,那么我可以用以下代码替换同步AJAX调用:
obj = do_async_ajax_call();
while (!obj.hasReturned()) {
window.update();
}
// synchronous call can resume
Run Code Online (Sandbox Code Playgroud)
我不能setTimeout
在回调中使用或恢复函数的原因是执行流程不能被中断:(有太多的状态变量都相互依赖,long_function()
否则必须恢复流程不知何故):
function long_function() {
// lots of code, reads/writes variable 'a', 'b', ...
if (sync_call_is_true()) {
// lots of code, reads/writes variable 'a', 'b', ...
} else {
// lots of code, reads/writes variable 'a', 'b', ...
}
// lots of code, reads/writes variable 'a', 'b', ...
return calculated_value;
}
Run Code Online (Sandbox Code Playgroud) 我在http://www.globalsign.com/support/install/install_tomcat.php上执行了以下步骤,使用以下条目server.xml
:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
keystoreFile="D:\Tomcat\ukdp.keystore" keystorePass="123456" keyAlias="ukdp"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
Run Code Online (Sandbox Code Playgroud)
但是在启动期间发生以下异常:
SEVERE: Error initializing endpoint
java.io.IOException: Alias name ukdp does not identify a key entry
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:412)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:378)
at
org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:125)
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:496)
at org.apache.coyote.http11.Http11Protocol.init(Http11Protocol.java:177)
at org.apache.catalina.connector.Connector.initialize(Connector.java:1059)
at org.apache.catalina.core.StandardService.initialize(StandardService.java:677)
at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:792)
at org.apache.catalina.startup.Catalina.load(Catalina.java:518)
at org.apache.catalina.startup.Catalina.load(Catalina.java:538)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412)
Mar 14, 2011 4:14:56 PM org.apache.catalina.startup.Catalina load
Run Code Online (Sandbox Code Playgroud)
当我删除keyAlias
条目如下:
<Connector …
Run Code Online (Sandbox Code Playgroud) 考虑到我有一个主线程,它在新线程中执行一个新的Runnable.现在,当新的Thread正在执行时,Java VM会耗尽内存并抛出OutOfMemoryError.
怎么了?目标线程是否停止?主线程会继续吗?当新的线程崩溃时,VM会从中回收内存并继续执行吗?
我正在尝试使用Java 中的 W3C DOM API读取 XML 文档并将其输出到新的 XML 文档中。为了处理 DOCTYPE,我使用以下代码(从输入 Documentdoc
到目标 File target
):
TransformerFactory transfac = TransformerFactory.newInstance();
Transformer trans = transfac.newTransformer();
trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no"); // omit '<?xml version="1.0"?>'
trans.setOutputProperty(OutputKeys.INDENT, "yes");
// if a doctype was set, it needs to persist
if (doc.getDoctype() != null) {
DocumentType doctype = doc.getDoctype();
trans.setOutputProperty(OutputKeys.DOCTYPE_SYSTEM, doctype.getSystemId());
trans.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC, doctype.getPublicId());
}
FileWriter sw = new FileWriter(target);
StreamResult result = new StreamResult(sw);
DOMSource source = new DOMSource(doc);
trans.transform(source, result);
Run Code Online (Sandbox Code Playgroud)
这对于带有和不带有 DOCTYPE 的 XML 文档都适用。然而,我现在NullPointerException …