【问题标题】:package java.util.regex does not exist (codenameone)包 java.util.regex 不存在(代号)
【发布时间】:2014-02-20 01:32:23
【问题描述】:

我正在使用 Codenameone (Java) 构建应用程序,需要使用正则表达式快速检查电子邮件。
但是现在由于某种原因,每当我构建我的应用程序时,我都会收到 java.util.regex 包不存在的错误。
Netbeans 在编译时没有出错,我可以从 java.util.regex 中的所有类访问源代码,但由于某种原因,netbeans 在构建时找不到它。

我在网上做了一些搜索,但找不到任何有用的东西。
我使用 Netbeans 7.4 和 JDK 7 (JRE 1.7.0_51)

这是邮件检查的代码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

protected boolean checkMail(String email) {
    String EMAIL_PATTERN
            = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@"
            + "[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$";

    Pattern pattern = Pattern.compile(EMAIL_PATTERN);
    Matcher matcher = pattern.matcher(email);
    return matcher.matches();
}

这是我得到的错误:

F:\Pantera\Documents\NetBeansProjects\TherapieApp\src\be\pantera\TherapieApp\RegisterPage.java:25: error: package java.util.regex does not exist import java.util.regex.Matcher;
F:\Pantera\Documents\NetBeansProjects\TherapieApp\src\be\pantera\TherapieApp\RegisterPage.java:26: error: package java.util.regex does not exist import java.util.regex.Pattern;

--编辑-- 似乎这个问题与代号有关,所以我更改了标题。感谢那些在编辑之前回答的人。我不认为这个问题可能与 Codenameone 有关,我很抱歉。

【问题讨论】:

  • 你是这样写的吗? : 导入 java.util.regex.*;
  • 你是如何在 Netbeans 之外构建的? (如果你说在 Netbeans 中编译时没有错误...)
  • 你是如何从那个包中导入的?请向我们展示代码。
  • @Jon:我的意思是 netbeans 在编码时没有给出红线,只在尝试构建时给出错误。
  • Netbeans 中是否有您指定要针对哪个版本的 JDK 构建的部分?

标签: java regex netbeans codenameone


【解决方案1】:

Codename One 不支持该包,也不支持 Java SE 堆栈中的许多其他包。 Java SE 对于移动设备来说太大了,我们当前的 iOS hello world 是 3mb,如果我们支持完整的 Java SE,它会是 18mb 左右。 Windows Phone、RIM 等也是如此。

有多种解决方案,包括3rd party regex cn1lib 的端口。

您可以在 JavaDocs 中查看 Codename One 支持的类:https://codenameone.googlecode.com/svn/trunk/CodenameOne/javadoc/index.html

【讨论】:

  • 非常感谢!不知道它不支持所有但你如何解释它很明显为什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-06-09
  • 2020-03-08
  • 1970-01-01
  • 2010-12-15
  • 2015-05-14
  • 2016-05-06
  • 1970-01-01
相关资源
最近更新 更多