[英]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.