2015-01-17 26 views
1

我试图在无权写入WildFly主目录及其子目录的用户下启动WildFly 8.2。为此,我已将standalone目录复制到用户主目录。下面是我用的cygwin开始WildFly命令:以有限权限的用户启动WildFly 8.2

$ /cygdrive/c/Program\ Files/wildfly-8.2.0.Final/bin/standalone.sh -Djboss.server.base.dir='C:\Users\above_mentioned_user\standalone' -c standalone.xml 

这里是这个命令的输出:

cygpath: can't convert empty path 
========================================================================= 

    JBoss Bootstrap Environment 

    JBOSS_HOME: C:\Program Files\wildfly-8.2.0.Final 

    JAVA: /cygdrive/c/Program Files/Java/jdk1.7.0_51/bin/java 

    JAVA_OPTS: -server -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true 

========================================================================= 

java.lang.IllegalArgumentException: Failed to instantiate class "org.jboss.logmanager.handlers.PeriodicRotatingFileHandler" for handler "FILE" 
     at org.jboss.logmanager.config.AbstractPropertyConfiguration$ConstructAction.validate(AbstractPropertyConfiguration.java:119) 
     at org.jboss.logmanager.config.LogContextConfigurationImpl.doPrepare(LogContextConfigurationImpl.java:338) 
     at org.jboss.logmanager.config.LogContextConfigurationImpl.prepare(LogContextConfigurationImpl.java:291) 
     at org.jboss.logmanager.config.LogContextConfigurationImpl.commit(LogContextConfigurationImpl.java:300) 
     at org.jboss.logmanager.PropertyConfigurator.configure(PropertyConfigurator.java:542) 
     at org.jboss.logmanager.PropertyConfigurator.configure(PropertyConfigurator.java:97) 
     at org.jboss.logmanager.LogManager.readConfiguration(LogManager.java:300) 
     at org.jboss.logmanager.LogManager.readConfiguration(LogManager.java:262) 
     at java.util.logging.LogManager$2.run(LogManager.java:312) 
     at java.util.logging.LogManager$2.run(LogManager.java:310) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:310) 
     at java.util.logging.LogManager.getLogManager(LogManager.java:292) 
     at java.util.logging.Logger.<init>(Logger.java:264) 
     at java.util.logging.Logger.<init>(Logger.java:260) 
     at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1430) 
     at java.util.logging.LogManager$RootLogger.<init>(LogManager.java:1428) 
     at java.util.logging.LogManager$1.run(LogManager.java:196) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.util.logging.LogManager.<clinit>(LogManager.java:173) 
     at org.jboss.modules.Main.main(Main.java:443) 
Caused by: java.lang.reflect.InvocationTargetException 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
     at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
     at org.jboss.logmanager.config.AbstractPropertyConfiguration$ConstructAction.validate(AbstractPropertyConfiguration.java:117) 
     ... 20 more 
Caused by: java.io.FileNotFoundException: C:\Program Files\wildfly-8.2.0.Final\standalone\log\server.log (The system cannot find the path specified) 
     at java.io.FileOutputStream.open(Native Method) 
     at java.io.FileOutputStream.<init>(FileOutputStream.java:221) 
     at org.jboss.logmanager.handlers.FileHandler.setFile(FileHandler.java:154) 
     at org.jboss.logmanager.handlers.PeriodicRotatingFileHandler.setFile(PeriodicRotatingFileHandler.java:105) 
     at org.jboss.logmanager.handlers.FileHandler.setFileName(FileHandler.java:192) 
     at org.jboss.logmanager.handlers.FileHandler.<init>(FileHandler.java:122) 
     at org.jboss.logmanager.handlers.PeriodicRotatingFileHandler.<init>(PeriodicRotatingFileHandler.java:73) 
     ... 25 more 
14:17:42,875 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 32) JBAS010280: Activating Infinispan subsystem. 
14:17:42,884 INFO [org.jboss.as.naming] (ServerService Thread Pool -- 40) JBAS011800: Activating Naming Subsystem 
14:17:42,859 INFO [org.jboss.as.connector.subsystems.datasources] (ServerService Thread Pool -- 27) JBAS010403: Deploying JDBC-compliant driver class org.h2.Driver (version 1.3) 
14:17:42,882 INFO [org.jboss.as.jsf] (ServerService Thread Pool -- 38) JBAS012615: Activated the following JSF Implementations: [main] 
14:17:42,895 INFO [org.jboss.remoting] (MSC service thread 1-8) JBoss Remoting version 4.0.6.Final 
14:17:42,906 INFO [org.jboss.as.security] (ServerService Thread Pool -- 45) JBAS013171: Activating Security Subsystem 
14:17:42,919 WARN [org.jboss.as.txn] (ServerService Thread Pool -- 46) JBAS010153: Node identifier property is set to the default value. Please make sure it is unique. 
14:17:42,935 INFO [org.jboss.as.connector.logging] (MSC service thread 1-1) JBAS010408: Starting JCA Subsystem (IronJacamar 1.1.9.Final) 
14:17:42,938 INFO [org.wildfly.extension.io] (ServerService Thread Pool -- 31) WFLYIO001: Worker 'default' has auto-configured to 8 core threads with 64 task threads based on your 4 available processors 
14:17:42,941 INFO [org.jboss.as.webservices] (ServerService Thread Pool -- 48) JBAS015537: Activating WebServices Extension 
14:17:42,953 INFO [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-3) JBAS010417: Started Driver service with driver-name = h2 
14:17:42,960 INFO [org.jboss.as.security] (MSC service thread 1-3) JBAS013170: Current PicketBox version=4.0.21.Final 
14:17:42,967 INFO [org.jboss.as.naming] (MSC service thread 1-2) JBAS011802: Starting Naming Service 
14:17:42,970 INFO [org.jboss.as.mail.extension] (MSC service thread 1-5) JBAS015400: Bound mail session [java:jboss/mail/Default] 
14:17:43,040 INFO [org.wildfly.extension.undertow] (MSC service thread 1-3) JBAS017502: Undertow 1.1.0.Final starting 
14:17:43,040 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 47) JBAS017502: Undertow 1.1.0.Final starting 
14:17:43,489 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 47) JBAS017527: Creating file handler for path C:\Program Files\wildfly-8.2.0.Final/welcome-content 
14:17:43,497 INFO [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017525: Started server default-server. 
14:17:43,520 INFO [org.wildfly.extension.undertow] (MSC service thread 1-1) JBAS017531: Host default-host starting 
14:17:43,672 INFO [org.wildfly.extension.undertow] (MSC service thread 1-5) JBAS017519: Undertow HTTP listener default listening on /127.0.0.1:8080 
14:17:43,719 INFO [org.jboss.as.server.deployment.scanner] (MSC service thread 1-3) JBAS015012: Started FileSystemDeploymentService for directory C:\Users\tazi0514\projects\nfv\r2\wildfly\deployments 
14:17:43,808 INFO [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-3) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS] 
14:17:43,994 INFO [org.jboss.ws.common.management] (MSC service thread 1-7) JBWS022052: Starting JBoss Web Services - Stack CXF Server 4.3.2.Final 
14:17:44,114 INFO [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management 
14:17:44,115 INFO [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990 
14:17:44,116 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.2.0.Final "Tweek" started in 3294ms - Started 184 of 234 services (82 services are lazy, passive or on-demand) 

正如你可以将日志上面的第一WildFly中看到的尝试,甚至写信给C:\Program Files\wildfly-8.2.0.Final\standalone\log\server.log尽管在命令行中有另一个目录作为服务器基目录。由于缺少权限而导致无法写入WildFly正常启动服务器。

有没有办法让WildFly不要尝试在默认的服务器基目录中写日志?

回答

0

看起来好像WildFly忽略了jboss.server.base.dir属性的值。但它仍然考虑到JBOSS_BASE_DIR环境变量的值。所以,我刚刚做了以下的别名在bash有一个简短的方式开始WildFly:在cygwin的用户主目录Windows用户主目录一致

alias wildfly_start='JBOSS_BASE_DIR="$(realpath ~/wildfly)" /bin/bash -c "/cygdrive/c/Program\ Files/wildfly-8.2.0.Final/bin/standalone.sh -c standalone.xml"' 

在我的情况。

1

尝试从复制的standalone目录中删除logging.properties。这是一个生成的文件,用于定义绝对日志文件路径,我认为在您的案例中仍然引用原始位置。