首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有公共静态类的YAJSW错误

带有公共静态类的YAJSW错误
EN

Stack Overflow用户
提问于 2012-02-03 16:36:19
回答 1查看 1.5K关注 0票数 0

我有一个java应用程序,我正在尝试开始使用YAJSW。它只是一个简单的"Hello“应用程序,我遵循以下说明:http://yajsw.sourceforge.net/#mozTocId527639

我做了以下工作:

  • 将我的项目从eclipse导出为一个可运行的JAR文件。

它引用的类是主类,必须是公共静态类。我被卡住了!有人有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-11 14:07:11

我也遇到了同样的问题(在Java1.6.0_30-B12上运行yajsw稳定-11.0,Win XP Pro v 2002 SP3):

代码语言:javascript
复制
INFO|wrapper|Service socket-proxy|12-04-11 11:48:32|init 
INFO|wrapper|Service socket-proxy|12-04-11 11:48:32|ahessian jmx service bound to port 15002
INFO|wrapper|Service socket-proxy|12-04-11 11:48:32|set state IDLE->STARTING
INFO|wrapper|Service socket-proxy|12-04-11 11:48:32|Win service: before service init
INFO|wrapper|Service socket-proxy|12-04-11 11:48:32|starting Process
INFO|wrapper|Service socket-proxy|12-04-11 11:48:32|Controller State: UNKNOWN -> WAITING
INFO|wrapper|Service socket-proxy|12-04-11 11:48:32|+ ServiceMain callback
INFO|wrapper|Service socket-proxy|12-04-11 11:48:32|reporting status 0
INFO|wrapper|Service socket-proxy|12-04-11 11:48:32|reporting status 0
INFO|wrapper|Service socket-proxy|12-04-11 11:48:32|onstart
INFO|wrapper|Service socket-proxy|12-04-11 11:48:32|working dir C:\dev\workspaceTax\socket-proxy
INFO|wrapper|Service socket-proxy|12-04-11 11:48:32|create script: scripts/trayMessage.gv
INFO|wrapper|Service socket-proxy|12-04-11 11:48:33|found script scripts/trayMessage.gv
INFO|wrapper|Service socket-proxy|12-04-11 11:48:33|spawning wrapped process
INFO|wrapper|Service socket-proxy|12-04-11 11:48:33|started process with pid 3720
INFO|wrapper|Service socket-proxy|12-04-11 11:48:33|waiting for termination of process
INFO|wrapper|Service socket-proxy|12-04-11 11:48:33|set state STARTING->RUNNING
INFO|3720/0|Service socket-proxy|12-04-11 11:48:33|[INFO] DefaultFileReplicator - Using "C:\WINDOWS\TEMP\vfs_cache" as temporary files store.
INFO|3720/0|Service socket-proxy|12-04-11 11:48:33|java.lang.IllegalAccessException: Class org.rzo.yajsw.app.WrapperJVMMain can not access a member of class [...].socketproxy.Proxy with modifiers "public static"
INFO|wrapper|Service socket-proxy|12-04-11 11:48:33|Trigger found: Exception
INFO|3720/0|Service socket-proxy|12-04-11 11:48:33| at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
INFO|wrapper|Service socket-proxy|12-04-11 11:48:33|start script scripts/trayMessage.gv
INFO|3720/0|Service socket-proxy|12-04-11 11:48:33| at java.lang.reflect.Method.invoke(Unknown Source)
INFO|3720/0|Service socket-proxy|12-04-11 11:48:33| at org.rzo.yajsw.app.WrapperJVMMain.executeMain(WrapperJVMMain.java:53)
INFO|3720/0|Service socket-proxy|12-04-11 11:48:33| at org.rzo.yajsw.app.WrapperJVMMain.main(WrapperJVMMain.java:36)
INFO|wrapper|Service socket-proxy|12-04-11 11:48:33|end script scripts/trayMessage.gv
INFO|3720/0|Service socket-proxy|12-04-11 11:48:34|process terminated
INFO|3720/0|Service socket-proxy|12-04-11 11:48:34|Controller State: WAITING -> PROCESS_KILLED
INFO|wrapper|Service socket-proxy|12-04-11 11:48:34|restart process due to default exit code rule

在我的例子中,包含静态public main方法的类没有声明为public,所以它是包私有的,这是默认的。

代码语言:javascript
复制
class Proxy {
...
    public static void main(String args[]) throws IOException{
        ...
        }
}

包私有类的公共方法在属于不同包的类中是不可见的,所以在我的例子中,这就是问题所在。例如,参见https://stackoverflow.com/questions/5260467/public-methods-in-package-private-classes

代码语言:javascript
复制
public class Proxy {
...
    public static void main(String args[]) throws IOException{
        ...
        }
}

上述公开的班级为我解决了这个问题。也许你可以发布更多关于整个问题的细节,然后有人会发布一个解决方案。看待-GF

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9132072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档