你用StringUtils.EMPTY而不是""吗?
我的意思是作为返回值或者如果设置String变量的值.我不是要比较,因为我们使用StringUtils.isEmpty()
早上第一件事,就在我打开电脑(Windows XP)并启动我的Eclipse之后,它只是显示启动画面然后冻结.大约20分钟后,它会问我要加载哪个工作区.
问题出现在3.5和3.6 Eclipse中.使用3.6 Eclipse安装我只有标准的PDE install + Google插件(用于GWT开发)+ Subclipse.
因为我已将其配置为向我询问工作空间,我可以看到它不是工作空间或项目相关.
我怀疑谷歌插件,因为我在安装之前没有遇到任何问题但是我已经搜索过并且没有遇到任何报告类似问题的人.
它只执行一次 - 在我早上打开机器后直接执行此操作.在此之后它开始很好 - 通常在几秒钟内.
有什么可能做的?我怎样才能知道它在做什么?
首先,一点背景.我有一组Java应用程序,一些基于JPA,一些不是.要创建我的数据库,我目前正在使用Hibernates模式导出为使用JPA的人生成创建脚本.不使用JPA的人我手动生成脚本.然后使用ANT在应用程序安装期间运行这些.对于更新,应用程序安装程序只将更新脚本应用于数据库.
为了改进数据库更新的管理,我一直在关注Flyway和Liquibase.两者似乎几乎都做我想要的,(除此之外:由于我们现有的所有SQL/DDL脚本,我现在更喜欢Flyway).我能看到的问题是它们都直接更新了数据库.这适用于许多安装,但不是全部.
我想做的是对数据库运行Flyway/Liquibase并生成一个更新脚本,其中包含使数据库保持最新所需的所有更新 - 包括Flyway/Liquibase需要对其自己的表进行的任何更改.这将允许我(或更重要的是数据库管理员)在应用程序之外运行更新脚本来更新数据库.然后我可以在我的应用程序中使用Flyway/Liquibase来验证数据库是最新的.
是否可以使用Flyway或Liquibase或任何其他工具进行此操作?
我已经写servlet和过滤器多年,它是什么,总是激怒我一点-检查和铸造ServletRequest和ServletResponse参数,HttpServletRequest以及HttpServletResponse,特别是过滤器,因为没有标准HttpFilter的基类来为你做到这一点-与Servlet不同.
问题是 - 你何时会看到其他任何HttpServletRequest/ HttpServletResponse传递给你的servlet /过滤器,如果你这样做,你应该怎么做?
我将用户输入作为维基格式文本(克里奥尔语)或可能降价格式的文本.
我想知道这种文本是否存在任何现有的内容类型标准.
我希望得到像"text/wiki_creole"或"text/markdown"这样的东西.
编辑
看起来没有标准.我能找到的最好的是
text/x-web-markdown
text/x-web-textile
Run Code Online (Sandbox Code Playgroud)
这似乎是常用的.除此之外,似乎使用供应商特定类型并不罕见,GitHub使用类似的格式
application/vnd.github-issue.raw+json
Run Code Online (Sandbox Code Playgroud) 我正在将我的构建从Ant迁移到Maven。用于编译“代码生成器”的Ant构建,执行此“代码生成器”,生成了一组Java和C代码。然后,它将生成的Java代码与其他一些代码一起编译生成一个jar。
我已经很容易地在Maven中复制了此代码,并且当我从命令行运行时它运行良好,但是Eclipse抱怨并给我一个与pom文件有关的错误
无法在http:// {您的内部站点存储库} / nexus / content / groups / public中找到{group.id}:{artifact.id}:pom:1.0.0-SNAPSHOT,该文件已缓存在本地存储库中,在快照的更新间隔过去或强制执行更新之前,无法重新尝试
其中group.id和artifact.id是我的代码生成器插件的组和工件id
并且任何引用生成的代码的代码也将无法编译。
我的Maven构建包括
一个生成器项目,其中仅包含代码生成器的Java代码。
一个生成器插件项目,其中仅包含将生成器包装为Maven插件的代码。这取决于生成器项目。
一个使用插件生成代码的xyz项目。该代码最终位于该项目的target / generated-sources / xxx文件夹中。我已经根据Maven编译配置了build-helper-maven-plugin,其中包含多个src目录,以包括此额外的源目录。
如果我将生成的源文件夹手动添加到Eclipse构建路径,那么与该项目上的代码相关的所有错误都将在该项目上消失,而在任何下游项目上都不会消失,并且上面列出的“无法找到...”错误仍然存在。
令我有些困惑的是,它实际上是指...:pom:1.0.0-SNAPSHOT,而实际上我的生成器插件被定义为maven插件。
这是明智的做法吗?
为什么会出现“无法找到...”错误?
为什么Eclipse不选择我的生成源文件夹?
我还应该说我在Eclipse IDE中安装了m2e插件和用于build-help-maven-plugin的m2e连接器。
是否有任何工具可以从jar中获取manifest.mf文件并很好地显示内容?
特别是在使用OSGi包时,Export-Package和Import-Package条目会变得非常大并且难以完全解决正在发生的事情.添加到这个简单的关键字文本搜索由于换行而不是100%可靠.
我正在尝试将guice部署到JBoss AS7(7.2.0-Alpha)中.这是一些罐子.我感兴趣的是
guice是一个主机包,guice-servlet和guice-persist是这个主机的片段.
当我启动容器时,主机包总是被安装,解析并变为活动状态.片段总是被安装,有时会被解析并"包含"在主机包中,有时则不会.这似乎是随机的.
我也尝试了Eclipse Virgo并且行为是相同的,但是,它能够定义计划,通过定义安装顺序可以绕过这个问题.(无论如何,我似乎能够使它工作).
看看OSGi规范并阅读这个问题的答案,似乎这是预期的行为.JBoss是一个OSGi 4.2容器,因此Require-Capability和Provide-Capability标题不是一个选项 - 而且我真的不想修改不是我的jar.
我怎么能让我的主机/片段包安装和可靠地解决?
我有一个想法(我不愿意做,因为它看起来不对)是使用maven-bundle-plugin/bndtools并将guice bundle合并到一个super-guice-bundle中 - 在构建时有效地做容器在runtme没有为我做什么.
我正在尝试创建一个时间限制键,以便在我的某个应用程序中使用.该密钥用于解锁应用程序中的某些功能.
到目前为止我的想法是
生成:加密哈希我需要的各种信息+密钥生成日期
验证:加密哈希我需要的各种信息+现在约会
如果所有信息都相同且日期相同,我会得到相同的值
但,
这意味着密钥只能在某个特定日期使用.我想要的是一个在接下来的24小时内有效的密钥(或者延长这个,几天/每周/每月).
我可以延长期限,但总是有可能在期限到期之前生成密钥,例如一个月密钥的月份的最后一天.
首先,这是一种可以接受的方式吗?如果是这样,我该怎么办?
我知道将时钟"缠绕"会打败系统 - 但我仍然有兴趣获得一些意见
我已阅读如何生成时间限制密钥或密码而不存储类似问题的数据.
如果我坐在工作中,我可以轻松地编写一些Java代码 - 我只是使用我的公司域名作为包名称,我甚至没有想到.
如果我坐在家里,我没有域名,我的包名是什么用的?
JSL没有说 - 它建议使用Internet域名.但是,它确实提到了本地和休闲包装名称
本节指定用于生成此类唯一包名称的建议约定.鼓励Java平台的实现提供自动支持,以便将一组包从本地和临时包名转换为此处描述的唯一名称格式.
我以前没有遇到任何改变包名称的事情,我不太确定它在实践中会如何起作用.
所以,我的问题有两个:如果我没有域名,我应该使用什么包命名,如果我去"本地"或"随意"路由,转换机制是什么?
我正在尝试使用GWTs RequestFactory(目前)做一些非常简单的事情并返回一个对象列表,每个对象包含一些数据和另一个对象.我似乎无法获得我的其他对象 - 相反,我总是得到null.
我的代码看起来像这样......
我有一些UserMessage对象,每个对象都包含一个Message对象.
UserMessage
@Entity
public class UserMessage implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Long id;
@Version
private Integer version = 0;
@ManyToOne
@JoinColumn(name = "messageId")
private Message message;
private String user;
private int priority;
private boolean read;
private Date expiry;
private boolean sent;
... getter/setters etc
Run Code Online (Sandbox Code Playgroud)
信息
@Entity(name = "UUMessage")
public class Message implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
private Long id;
@Version …Run Code Online (Sandbox Code Playgroud) 在IE8中运行时,我的GWT应用程序出现了一个奇怪的问题.如果我在应用程序的任何位置点击回车键,则应用程序就像用户已注销并且用户返回到登录页面.
在兼容模式下运行的Firefox,IE7或IE8中不会发生这种情况.
我返回登录页面的事实意味着浏览器丢失了会话信息,正在发出服务器请求,然后被重定向到登录页面.
如果我拦截窗口小部件中的keydown事件并调用preventDefault,则会停止该行为.
可能导致这种情况的任何想法?