繁体   English   中英

使用Java进行奇怪的eclipse编译错误

[英]Weird eclipse compilation error with Java

我在下面的代码块中使用eclipse得到了这个奇怪的编译错误。 我已经包括必要的罐子,并尝试重新启动日食但没有用。

 public class ControlServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
ResourceBundle rb1;// error on this line
rb1 = ResourceBundle.getBundle("connection_config");
Logger log = LoggerFactory.getLogger(ControlServlet.class);

显示的错误消息是:

Multiple markers at this line
- Syntax error on token ";", , expected
- Watchpoint:ControlServlet [access and 
 modification] - rb1.

知道为什么会发生这种情况吗? 我如何解决这个问题会有所帮助。

您收到此错误是因为您不能将赋值语句和声明写为类中的2个语句(在任何类之外) 方法或静态 块类变量)。

所以你的错误实际上是在这个声明上:

rb1 = ResourceBundle.getBundle("connection_config");

不能在没有周围静态/方法块的情况下在类中编写这样的语句。 不能在任何方法或任何初始化块之外写入(静态或非静态)。 所以你必须将你的2个语句组合成1个:

ResourceBundle rb1 = ResourceBundle.getBundle("connection_config");

您可能必须更换它

ResourceBundle rb1;// error on this line
rb1 = ResourceBundle.getBundle("connection_config");

有了这个

ResourceBundle rb1 = ResourceBundle.getBundle("connection_config");

在Java中,我们只能直接在类中包含变量声明语句,初始化块(静态和非静态)和方法定义。 所有其他语句(如赋值语句,控制语句等)必须位于初始化块内或方法定义内。

这里, rb1 = ResourceBundle.getBundle("connection_config"); 赋值语句,不允许直接放在类中。 这就是为什么我们必须将声明和赋值语句组合成ResourceBundle rb1 = ResourceBundle.getBundle("connection_config");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM