小编f_p*_*ras的帖子

Android中的log4j支持

我试图将现有的SDK软件挂在Android设备上,并且所述SDK的一个依赖项是Apache log4j.我能够将我的测试程序加载到android模拟器上但是当调用log4j对象"PropertySetter"时,程序失败并出现验证异常.有没有办法改善这个问题?

android log4j android-emulator

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

查找Excel电子表格中的最后一行

我正在尝试使用Apache的POI for Java查找Excel电子表格中最后一行的索引.

我想这应该是可能的getLastRowNum()getPhysicalNumberOfRows(),但似乎他们不给予正确的结果.例如,我有一行电子表格,这两个函数返回值1140.另外两行电子表格的值为1162.

另一个问题是我不能只查找第一个空行,因为有效数据行之间可能有空行.

那么有没有办法找到最后一行的索引?我想我可以要求在数据之间没有空行,但我希望有更好的解决方案.

编辑:对于使用迭代器的记录没有帮助.它只是迭代了1140/1162所谓的行.

java excel apache-poi

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

尝试将Apache POI移植到Android

我正在寻找一个轻量级的poi-3.8.jar来在Android(私有)应用中使用它.由于某种原因,我似乎无法在APK中安装整个1.7Mb jar(反正这样做也是错误的)因为我只是在寻找doc - > html和xls - > html功能,我不太确定我需要整个jar文件.

我花了几个小时试图弄清楚如何在poi/hwpf/converter中提取org.apache.poi.hwpf.converter.WordToHtmlExtracter.java,但看起来它正在使用很多其他东西.即使这并不让我感到惊讶,我想也许这里有人会知道我可以摆脱哪些包装以使罐子更小.我会很高兴花更多的时间在这上面,除非有人告诉我这是浪费时间,并且需要将源文件中的所有内容转换为html文件.

我不需要任何显示任何内容的东西,我只需要html的"简单"文档(如果可能的话,还需要xls到html)功能.我不需要任何与PDF,powerpoint,outlook等相关的东西.

我很乐意分享我发现的一切

干杯

android ms-office apache-poi

13
推荐指数
1
解决办法
9047
查看次数

Apache POI xls列删除

我没有找到如何使用Apache POI API删除列.
我很感激这方面的示例代码或帮助.

java apache-poi

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

java.lang.ClassNotFoundException:org.apache.commons.codec.binary.Base64

在这里,我将三个参数传递给此sign方法.在这一行

signature = new String(Base64.encodeBase64(mac.doFinal(data.getBytes(UTF_8_Encoding))));

我收到错误:

严重:servlet [com.asp.amz.amzServlet]的Servlet.service()在路径[/ amazon]的上下文中引发异常[Servlet执行抛出异常],原因是java.lang.ClassNotFoundException:org.apache.commons. codec.binary.Base64

String Key = "z/0qfiE+ScjxHy2gSwmHqP0rZ6fT9zhVgsNt";
String signatureMethod = "HmacSHA256";
String data = "sandbox.amazon.com/cobranded-ui/actions/start?callerKey=AKIAJZOKEUCXF7RKSCNA&callerReference=callerReferenceSingleUse&currencyCode=USD&paymentReason=HarryPotter%201-5%20DVD%20set&pipelineName=SingleUse&returnURL=http%3A%2F%2Flocalhost%3A8888%2Famazon&signatureMethod=HmacSHA256&signatureVersion=2&transactionAmount=5&version=2009-01-09";

    private static String sign(String data, String key, String signatureMethod) throws SignatureException
    {
        System.out.println(" In sign block ");
        String signature = "";
        try {
            System.out.println(" In sign Try block ");
            Mac mac = Mac.getInstance(signatureMethod);
            mac.init(new SecretKeySpec(key.getBytes(), signatureMethod));
            signature = new String(Base64.encodeBase64(mac.doFinal(data.getBytes(UTF_8_Encoding))));
            System.out.println(" In sign Try block ");
        } catch (Exception e) {
            System.out.println(" In sign catch block ");
            throw …
Run Code Online (Sandbox Code Playgroud)

java servlets

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

Tomcat:getHeader("Host")与getServerName()

我有一个Tomcat应用程序,它是从多个域提供的.以前的开发人员构建了一个返回应用程序URL的方法(见下文).在方法中,它们请求服务器名称(request.getServerName()),它适当地从httpd.conf文件返回ServerName.

但是,我不希望这样.我想要的是浏览器发送请求的主机名,即浏览器从哪个域访问应用程序.

我试过getHeader("Host"),但仍然返回httpd.conf文件中设置的ServerName.

而不是request.getServerName(),我应该使用什么来获取浏览器发送请求的服务器名称?

例如:

  • httpd.conf中的 ServerName :www.myserver.net
  • 用户访问www.yourserver.net上的 Tomcat应用程序

我需要返回www.yourserver.net而 不是 www.myserver.net.该request.getServerName()电话似乎只返回www.myserver.net

/**
 * Convenience method to get the application's URL based on request
 * variables.
 * 
 * @param request the current request
 * @return URL to application
 */
public static String getAppURL(HttpServletRequest request) {
    StringBuffer url = new StringBuffer();
    int port = request.getServerPort();
    if (port < 0) …
Run Code Online (Sandbox Code Playgroud)

java tomcat httprequest

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

setConnectTimeout与setConnectionTimeToLive对比setSocketTimeout()

有谁可以解释这两者之间的区别是什么:

client = HttpClientBuilder.create()
    .setConnectionTimeToLive(1, TimeUnit.MINUTES)
    .build();
Run Code Online (Sandbox Code Playgroud)

RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(30 * 1000).build();
client = HttpClientBuilder
    .create()
    .setDefaultRequestConfig(requestConfig)
    .build();
Run Code Online (Sandbox Code Playgroud)

使用起来更好setSocketTimeout吗?

java apache-httpclient-4.x

11
推荐指数
2
解决办法
5254
查看次数

如何使用commons-lang3的RecursiveToStringStyle和JSON_STYLE

我正在使用依赖:

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.4</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

我有以下对象:

public Class X {

  private String a;
  private String b;
  private Y y;
}

public Class Y {
  private String c;
  private String d;
}
Run Code Online (Sandbox Code Playgroud)

我需要递归地记录类X的内容以获得类Y并使用JSON样式.这是我的目标,这就是这个问题的目的.

方法1:

ToStringStyle style = ToStringStyle.JSON_STYLE;
LOGGER.debug(ReflectionToStringBuilder.toString(new X(), style, false, false));
Run Code Online (Sandbox Code Playgroud)

方法1结果:

{"a":"<a>","b":"<b>","y": com.<packages>.y@<hash>}
Run Code Online (Sandbox Code Playgroud)

方法2:

RecursiveToStringStyle style = new RecursiveToStringStyle();
LOGGER.debug(ReflectionToStringBuilder.toString(new X(), style, false, false));
Run Code Online (Sandbox Code Playgroud)

方法2结果:

[com.<packages>.x@<hash>[a=<a>,b=<b>,y=com.<packages>.y@<hash>[c=<c>,d=<d>]]
Run Code Online (Sandbox Code Playgroud)

成功的方法:

`Merge of Approach 1 and Approach 2` but how to achieve this? 
Run Code Online (Sandbox Code Playgroud)

成功的方法结果(我的目标):

{"a":"<a>","b":"<b>","y":{"c":"<c>","d":"<d>"}}
Run Code Online (Sandbox Code Playgroud)

java reflection tostring apache-commons-lang

10
推荐指数
1
解决办法
5994
查看次数

使用wget从右侧Apache Mirror下载文件

要使用特定示例,我想下载Hadoop 2.7.2的二进制版本.该网站指向http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz,然后按位置指向最近的镜像.对我来说是http://xenia.sote.hu/ftp/mirrors/www.apache.org/hadoop/core/hadoop-2.7.2/hadoop-2.7.2.tar.gz.

我想在shell脚本中实际下载它(特定于Dockerfile).我宁愿使用与位置无关的URL进行下载,这样如果有人在世界的另一端运行脚本,他们就不会使用相同的镜像.

是否有我可以使用的URL wgetcurl动态重定向到最近的镜像?这个特定文件的URL是什么?

url download

10
推荐指数
1
解决办法
1912
查看次数

ZooKeeper和任何分布式Key-Value商店之间有什么区别?

我是zookeeper和分布式系统的新手,我自己也在学习它.

根据我现在的理解,似乎ZooKeeper只是一个键值存储,其键是路径,值是字符串,这与Redis没什么不同.(显然我们也可以使用斜线分隔的路径作为redis中的键.)

所以我的问题是,ZooKeeper和其他分布式KV商店之间的本质区别是什么?为什么ZooKeeper使用所谓的"路径"作为键,而不是简单的字符串?

distributed distributed-system key-value-store apache-zookeeper

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