小编Ale*_*ühl的帖子

为什么地球上不能Excel处理同名的2个文件?

这让我烦恼了整个IT生活 - 我现在使用了7个不同版本的Excel超过20年,每个版本都有很大的变化,迫使我搜索旧版本隐藏在新版本中的位置 - 但是一件事保持稳定作为一块石头:打开两个同名文件的残疾.

抱歉,Excel无法同时打开两个同名的工作簿.

所以我真的渴望在这里有一个见解,为什么Excel 2013中仍然如此,甚至不需要在Excel 95中实现?Excel数据结构或内部处理中是否有任何技术或设计原因导致它无法处理具有不同路径但具有相同文件名的两个File对象?我不希望微软在这里抨击,我只是想了解它背后的原因.

excel

84
推荐指数
3
解决办法
2万
查看次数

增强的循环编译适用于JDK 8但不适用于7

考虑下面的代码片段,我在进行一些重构之后,在检查为什么构建服务器报告了一个破坏的构建但在我的IDE中没问题时:

List<String> text;
...
for (String text : text) {...}
Run Code Online (Sandbox Code Playgroud)

因此,相同的名称用于for-each中的String和List.

这当然不是很明智,但是在重命名之前遵循我的好意,我看到上面的代码用JDK 8编译得很好,但是给出了JDK 7的以下错误:

  error: for-each not applicable to expression type
        for (String text : text) {
                           ^
  required: array or java.lang.Iterable
  found:    String
1 error
Run Code Online (Sandbox Code Playgroud)

我知道,变化在JDK中这方面的几个部分组成 - 但有人可以见识一下为什么会出现正是这种行为?


更新: 由于我得到了一些关于不同行为的评论,这里是一个完整的示例类:

import java.util.Arrays;
import java.util.List;

public class Strange {

    List<String> text = Arrays.asList("Max", "Alex", "Maria");

    public static void main(String[] args) {
        new Strange().doSomething("Alex");
    }

    public void doSomething(String name) {
        for (String text : text) {
            System.out.println(text.equals("Alex"));
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

这是编译过程和输出(Windows …

java foreach language-lawyer java-7 java-8

31
推荐指数
3
解决办法
2124
查看次数

Tomcat 7上的CDI - 它有意义吗?

如果我可以选择,我将JBoss 7用于使用JSF 2和CDI的Java EE 6项目.

但有时候,客户项目的环境或多或少都会被设置 - 所以在一种情况下我们只限于Tomcat(6或7或7).

所以,我读了几篇关于在Tomcat中使用CDI(例如WELD)和JSF 2的文章,这表明这样做基本没问题.

不过,我的问题是 - 它有意义吗?或者servlet容器是不是这种架构的合适环境?有没有人使用Tomcat + CDI获得比演示项目更多的经验?

提前致谢!

tomcat cdi java-ee-6 jsf-2

18
推荐指数
1
解决办法
4909
查看次数

无法在WinXP 32位上为JavaFX应用程序构建本机包

我正在尝试为WinXP 32位系统构建JavaFX应用程序(本机包).

我已经部署了一个WinXP 32位虚拟机.还安装了JDK(jdk-8u65-windows-i586)和InnoSetup以及Netbeans 8.0.2 ......

但是,当我尝试打包为.EXE应用程序时,我收到:

Exception: java.io.IOException: Cannot run program "C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\iconswap2855415551655584734.exe": CreateProcess error=193, %1 is not a valid Win32 application
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:3415: The following error occurred while executing this line:
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:3438: The following error occurred while executing this line:
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:1465: The following error occurred while executing this line:
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:3093: The following error occurred while executing this line:
C:\Documents and Settings\Administrator\My Documents\Netbeans Projects\AffideaDicomRouterBasic1_0_0\nbproject\jfx-impl.xml:2055: Error: …
Run Code Online (Sandbox Code Playgroud)

java javafx javafx-2 javafx-8

17
推荐指数
1
解决办法
1132
查看次数

如何从MediaWiki的所有页面导出文本?

我有一个MediaWiki运行,它代表德语术语的字典及其对当地方言的翻译.每个页面包含一个术语,其翻译和一些额外的信息.

现在,对于字典的可打印版本,我需要完整导出所有术语及其翻译.由于这是页面内容的摘录,我想我需要以可解析的格式完整导出其最新版本中的所有页面,例如xml或csv.

有没有人这样做或可以指向我的工具?我应该提一下,我没有完全访问服务器,例如没有命令行,但我能够添加MediaWiki扩展或访问MySQL数据库.

mediawiki export

13
推荐指数
2
解决办法
2万
查看次数

编译时找不到com.sun.xml.internal.ws.developer.JAXWSProperties

我们使用了类JAXWSPropertiescom.sun.*包中的代码,以这样设置超时属性:

import com.sun.xml.internal.ws.developer.JAXWSProperties;
...
Map<String, Object> ctxt = ((BindingProvider) port).getRequestContext();
ctxt.put(JAXWSProperties.CONNECT_TIMEOUT, 10000);
Run Code Online (Sandbox Code Playgroud)

它在本地Eclipse中编译良好,但不在连续集成系统上编译(两者都使用JDK 1.6).通过研究这个问题,我了解到com.sun.*应该避免使用这个包.

所以我的问题是:

  • 导致编译时导入失败的原因是什么?
  • 应该用什么来代替JAXWSProperties

java jax-ws

12
推荐指数
1
解决办法
1万
查看次数

企业Web应用程序中的JavaFX - 经典网页的良好替代品?

我们为不同的客户开发了几个Web应用程序,从那些看起来很简单的CRUD风格的GUI到那些糟糕的管理员,再到那些互联网用户的花哨的AJAX增强的GUI.所有这些都基于JSF 1.2与JBoss Seam 2的组合,使用Facelets和RichFaces作为表示层.

我们确实知道JSF 1.2的局限性(我感到很难过)我们还没有完成向Java EE 6的过渡,但是将这个设置定义为我们的技术堆栈,我们获得了一些使用该技术的经验,感觉能够为我们的客户可靠地开发Web应用程序.

那么,为什么我会告诉你呢?因为我们越来越多地听到"Web 2.0"的客户希望拥有丰富的客户端功能,而只接受浏览器作为所有应用程序的大门.尽管我们知道可以用我们使用的技术做到这一点,我们认为,在客户端使用不同的东西来支持这些需求可能是个好主意.由于我们大多是Java程序员,我们一直在追赶这个让他们用他的Adobe Flex烦恼的家伙,我们认为,新版本的JavaFX可能是一件好事.

我一直在努力挖掘我能找到的JavaFX资源的深度 - 但我经常想到的一件事是,JavaFX本身就是一种能够做一些漂亮的图形效果的技术,但是在弹跳的同时彩色阴影气泡可能看起来很酷,它们在商业应用中基本没用.

好吧,长话短说 - 我们喜欢在后端使用Java EE 6,同时在客户端上拥有丰富而美观的功能.在开发商业Web应用程序时,JavaFX是经典网页甚至是即将推出的现代HTML 5网页的一个很好的选择吗?在哪里可以找到这样的示例?

感谢您花时间阅读本文以及希望得到的答案.

java web-applications java-ee javafx-2

9
推荐指数
3
解决办法
2万
查看次数

JPA Entiy是同义词而不是表

我有一个基于Seam 2.2的Java EE 5 Web应用程序,其中一堆表通过Hibernate 3.3.3映射到JPA 1.0实体.在开发期间,它运行在Tomcat 6,Oracle 10 XE和Windows 7上.

现在,操作部门要求我们将数据模型拆分为一个模式,即一个模式,即所有数据库对象的所有者(myschema)和一个充当应用程序数据库用户的模式(myschema_app).所以我做了以下事情:

  • 创建架构 myschema_app
  • 授予对来自所有必要的表对象权限myschema(常规一和两个N:M中间表)和序列根据使用(一个或多个的select,insert,update,delete),以myschema_app
  • 声明私有同义词,myschema_app以便使用与以前相同的名称并隐藏其他模式的名称前缀
  • 将属性更改hibernate.default_schema为新的模式名称persistence.xml
  • 在Tomcat的数据源定义中更改用户/密码 context.xml

当我在hibernate.hbm2ddl.auto设置时启动应用程序时,validate当框架尝试创建EntityManagerFactory告诉我缺少表时,我得到一个异常.当我在myschema_app连接的sql工具中直接执行select语句时,一切正常.

我知道在另一个表上使用同义词对于应用程序是透明的.有谁知道我可能忽略了什么?

hibernate seam jpa oracle10g java-ee-5

9
推荐指数
2
解决办法
6951
查看次数

Tomcat + CDI + Arquillian

我将Tomcat 7和CDI一起使用,为此,我使用了Knappsack Maven Archetypes中的jee6-servlet-minimal-archetype 作为起点.

现在我想使用Arquillian来测试CDI bean,但即使在搜索了很长时间之后,我也只发现了一些与该主题相关的问题.

有人能指出我pom.xml在Tomcat 7上使用Arquillian进行CDI测试的工作设置(特别是使用权)吗?


编辑2012/09/11: 正如下面的评论所指出的,我认为要解决我的问题,我需要有人帮助我理解整个设置,而不是试图在某个时候解决特定的异常.

那么,pom.xml和测试类是如何看待的,因为在tomcat 7中有一个CDI bean并且能够在嵌入式和托管容器中使用所有注入机制来测试它?(顺便说一下,为什么没有tomcat 7的远程容器适配器,因为它已经用于6?)

我已经尝试调整tomcat 6示例,但无法使其在tomcat 7上运行.

maven-3 cdi tomcat7 jboss-arquillian

6
推荐指数
1
解决办法
5384
查看次数

在自定义验证器中注入

可能重复:
FacesValidator中的依赖注入(JSF验证)

也许,我遗漏了一些基本的东西 - 但是我不能在自定义验证器类中使用注入来使用消息资源?下面的代码给我一个null msg,所以注入显然不起作用,但为什么呢?如果不可能,我该如何访问消息资源?到目前为止我找到的所有示例都在验证器消息中使用硬编码文本,这对本地化不是很有用.

public class BirthdateValidator implements Validator {
    @Inject
    private transient ResourceBundle msg;

    @Override
    public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
            if ( [some validation fails] ) {
                FacesMessage message = new FacesMessage(msg.getString("validator.birthday"));
                message.setSeverity(FacesMessage.SEVERITY_ERROR);
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

validation jsf-2

6
推荐指数
1
解决办法
3017
查看次数