0

我正在尝试将 Web 应用程序部署到 Weblogic 10.3.5 中,当我尝试启动应用程序时出现以下错误:

####<Oct 29, 2012 5:27:12 AM PDT> <Warning> <HTTP> <ip-0A2E9E72> <AdminServer> <[STANDBY] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'> 
<<WLS Kernel>> <> <> <1351513632838> <BEA-101162> 
<User defined listener artemispm.web.ui.gwt.server.A7WebStartupListener failed: java.lang.NullPointerException.
java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:394)
at java.util.Properties.setProperty(Properties.java:143)
at java.lang.System.setProperty(System.java:729)

上面的错误是由以下代码摘录引起的,它是 ServiceContextListener 类实现的一部分:

System.setProperty(A7WebConstants.PROP_OUTPUT_DIR_PATH, outputDirPath);

outputDirPath 变量不为空,所以有人知道这里发生了什么吗?我正在使用 JDK6,该应用程序在 Tomcat 6 和 7 上也运行良好。另外,我没有更改 web.xml 文件中的任何配置。

**更新:

我刚刚注意到,当我尝试部署我的应用程序时,在上述错误之前出现此错误:

####<Oct 29, 2012 7:03:25 AM PDT> <Error> <Console> <ip-0A2E9E72> <AdminServer> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <weblogic> <> <9fceb15ac10fa447:5dceb4c5:13aac5c55aa:-7ff7-0000000000000005> <1351519405088> <BEA-240003> <Console encountered the following error java.lang.IllegalArgumentException: Getting Deployment configuration...
at com.bea.console.utils.DeploymentConfigurationHelper.getDeploymentConfiguration(DeploymentConfigurationHelper.java:911)
at com.bea.console.utils.DeploymentConfigurationHelper.isSchemaBased(DeploymentConfigurationHelper.java:1930)
at com.bea.console.actions.app.DeploymentPlanAction.execute(DeploymentPlanAction.java:136)

谢谢,

4

1 回答 1

3

最好的猜测是密钥为空,因为java.util.Properties.set正在使用HashTable.put操作,请参阅 javadoc: http ://docs.oracle.com/javase/6/docs/api/java/util/Hashtable.html#put%28K,%20V%29

如果不是这种情况,你能检查一下System.getProperty("dummy")返回什么吗?如果下面代码片段中的 props 为 null(来自 java 源代码),那么上面的代码也会抛出NullPointer.

package java.lang;
...
import java.util.Properties;
...
private static Properties props;
....
public static String setProperty(String key, String value) {
checkKey(key);
SecurityManager sm = getSecurityManager();
    if (sm != null) {
    sm.checkPermission(new PropertyPermission(key,
    SecurityConstants.PROPERTY_WRITE_ACTION));
}

return (String) props.setProperty(key, value); //line 729
}
于 2012-10-29T14:08:17.920 回答