我尝试创建JSF+GlassFish 4.1项目,但出现错误。我创建了示例Intellij IDEA项目新项目-> JSF -> finish。我使用的是与NetBeans一起安装的GlassFish Server4.1。当我启动app时,我有这样的日志:
Detected server admin port: 4848
Detected server http port: 8080
[2015-10-07 10:58:22,713] Artifact JsfApp:war exploded: Server is not connected. Deploy is not available.
java.nio.file.AccessDeniedException: C:\Program Files\glassfish-4.1\glassfish\domains\domain1\logs\server.log.lck
at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
at sun.nio.fs.WindowsFileSystemProvider.newFileChannel(Unknown Source)
at java.nio.channels.FileChannel.open(Unknown Source)
at java.nio.channels.FileChannel.open(Unknown Source)
at java.util.logging.FileHandler.openFiles(Unknown Source)
at java.util.logging.FileHandler.<init>(Unknown Source)
at com.sun.enterprise.admin.launcher.GFLauncherLogger.addLogFileHandler(GFLauncherLogger.java:99)
at com.sun.enterprise.admin.launcher.GFLauncher.setup(GFLauncher.java:192)
at com.sun.enterprise.admin.servermgmt.cli.StartDomainCommand.createLauncher(StartDomainCommand.java:228)
at com.sun.enterprise.admin.servermgmt.cli.StartDomainCommand.executeCommand(StartDomainCommand.java:124)
at com.sun.enterprise.admin.cli.CLICommand.execute(CLICommand.java:322)
at com.sun.enterprise.admin.cli.AdminMain.executeCommand(AdminMain.java:366)
at com.sun.enterprise.admin.cli.AdminMain.doMain(AdminMain.java:300)
at org.glassfish.admin.cli.AsadminMain.main(AsadminMain.java:56)
Attempting to start domain1.... Please look at the server log for more details.....我没有域的密码,如果我设置了密码,它也不起作用。
发布于 2015-10-07 20:06:49
您的堆栈跟踪会告诉您问题所在。server.log.lck文件上有什么东西。您可能仍然有一个旧的实例在运行。
确保Netbeans未运行。如果是,那就退出吧。
在IDEA中,查找Run和Debug选项卡,并检查它们,以确保其中某个选项卡中没有运行Glassfish实例。如果您这样做了,那么停止它,当它完成后,只需确保也单击运行和/或调试窗口中的"X“图标。这将关闭Run/Debug选项卡。我见过选项卡有时会锁定Glassfish日志文件。
检查domain1/logs文件夹,确保.lck文件不在那里。
如果它仍然是,那么你可能有一个卡住的Glassfish进程。在这种情况下,完全放弃IDEA。
打开任务管理器,确保选中了“显示所有用户的进程”,并查找是否有正在运行的java.exe进程并杀死它们。我假设您不在共享服务器上,因此可以盲目地杀死任何Java进程。您必须根据您的环境进行相应的调整。
此时,您应该不会再看到.lck文件,您应该可以继续操作了。
发布于 2015-10-11 23:55:25
我决定更改glassfish文件夹的权限。如果您使用的是windows系统,请将glassfish安装文件夹的所有权限授予系统。(Poperties->Security)
https://stackoverflow.com/questions/32984169
复制相似问题