小编Mad*_* CM的帖子

永远不会执行的cron作业

有没有办法创建一个cron表达式,根本不运行该作业.我虽然使用这个表达式:

0 0 0 1 1?3099

上面的表达式将在3099年运行.有没有其他方法可以禁用该作业.

谢谢.

unix cron

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

使用xslt在xml中间添加元素

下面是实际的xml:

<?xml version="1.0" encoding="utf-8"?>
<employee>
 <Name>ABC</Name>
 <Dept>CS</Dept>
 <Designation>sse</Designation>
</employee>
Run Code Online (Sandbox Code Playgroud)

我想要输出如下:

<?xml version="1.0" encoding="utf-8"?>
<employee>
 <Name>ABC</Name>
  <Age>34</Age>
 <Dept>CS</Dept>
  <Domain>Insurance</Domain>
 <Designation>sse</Designation>
</employee>
Run Code Online (Sandbox Code Playgroud)

是否可以使用xslt在两者之间添加XML元素?请给我样品!

xslt

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

在xslt中使用position()函数

<EmployeeDetails>
    <Employee>
        <Name>TEST</Name>
    </Employee>
    <Employee>
        <Name>TEST</Name>
    </Employee>
    <Employee>
        <Name>TEST</Name>
    </Employee>
    <Employee>
        <Name>TEST</Name>
    </Employee>
    <Employee>
        <Name>TEST</Name>
    </Employee>
</EmployeeDetails>
Run Code Online (Sandbox Code Playgroud)

我尝试使用xslt如下:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl"
    exclude-result-prefixes="xd"
    version="1.0">

    <xsl:template match="EmployeeDetails/Employee">
        <xsl:copy>
        <xsl:attribute name="id"><xsl:value-of select="position()"/></xsl:attribute>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="*">
        <xsl:element name="{local-name()}">
            <xsl:apply-templates select="@*|node()"/>
        </xsl:element>
    </xsl:template>
    <xsl:template match="@*">
        <xsl:attribute name="{local-name()}">
            <xsl:value-of select="."/>
        </xsl:attribute>
    </xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)

对于上面的xslt,position()的输出打印为2,4,6,8,10.

输出应该是:

<EmployeeDetails>
    <Employee id="1">
        <Name>TEST</Name>
    </Employee>
    <Employee id="2">
        <Name>TEST</Name>
    </Employee>
    <Employee id="3">
        <Name>TEST</Name>
    </Employee>
    <Employee id="4">
        <Name>TEST</Name>
    </Employee>
    <Employee id="5">
        <Name>TEST</Name>
    </Employee>
</EmployeeDetails>
Run Code Online (Sandbox Code Playgroud)

如何打印像1,2,3 ....的序列作为id属性.

xslt

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

Axis2对象为xml

我有一个从我的Java代码返回的Axis2对象.如何将该对象转换为XML或在控制台中将其作为XML输出?我知道有很多第三方库可用于将对象序列化为XML - 但是如何使用Axis2呢?


更新:这个链接我找到了解决方案.一个人需要OMElement这样:

OMElement omElement = sampleElement1
          .getOMElement(SampleElement1.MY_QNAME, OMAbstractFactory.getOMFactory()); 
String omElementString = omElement.toStringWithConsume();
System.out.println("XML String ==> " + omElementString);
Run Code Online (Sandbox Code Playgroud)

java xml axis2 marshalling

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

java 8在使用Collectors.toMap时处理自定义异常

是否支持在Collectors.toMap中处理自定义异常.我在Collector.toMap中调用一个抛出MyException的方法.它可以在调用函数pupulateValues()中重新抛出吗?为了演示,我使用下面的代码重新抛出MyException但无法通过.我的目标是在main方法中处理MyException.

public static void main(String[] args){
    try {
        pupulateValues();
    } catch (MyException e) {
           // do something
        e.printStackTrace();
    }
}

private static void pupulateValues() throws MyException{
    Map<String,String> map = new HashMap<>();
    map.put("asdf", "asdf");
    map.put("ss", "fff");
    map.put("aaaaaa", "aaaaaaa");

    Map<String,String> map2=map.entrySet().stream().collect(
            Collectors.toMap(entry->entry.getKey(),entry-> {
                try {
                    return getCert(entry.getValue());
                } catch (MyException e) {
                    // TODO Auto-generated catch block
                    throw new MyException();
                }}));

}

static String getCert(String val) throws MyException {
    if(val == null) {
        throw new MyException("Some exception");
    }
    return val; …
Run Code Online (Sandbox Code Playgroud)

java java-8 java-stream

4
推荐指数
1
解决办法
813
查看次数

如何按原样复制所有内容,只删除特定元素

<?xml version="1.0" encoding="UTF-8"?>
<Emp:Employee xmlns:Emp="http://Emp.com">
    <Emp:EmpName>XYZ</Emp:EmpName>
    <Emp:EmpAddres>AAAA</Emp:EmpAddres>
    <Det:EmpDetails xmlns:Det="http://Det.com">
        <Det:EmpDesignation>SE</Det:EmpDesignation>
        <Det:EmpExperience>4</Det:EmpExperience>
    </Det:EmpDetails>
</Emp:Employee>
Run Code Online (Sandbox Code Playgroud)

我只是想复制所有元素,包括命名空间但没有 <Det:EmpExperience>4</Det:EmpExperience>

所以最终的输出应该是:

<?xml version="1.0" encoding="UTF-8"?>
    <Emp:Employee xmlns:Emp="http://Emp.com">
        <Emp:EmpName>XYZ</Emp:EmpName>
        <Emp:EmpAddres>AAAA</Emp:EmpAddres>
        <Det:EmpDetails xmlns:Det="http://Det.com">
            <Det:EmpDesignation>SE</Det:EmpDesignation>
         </Det:EmpDetails>
    </Emp:Employee>
Run Code Online (Sandbox Code Playgroud)

我用了

<xsl:template match='/'>
<xsl:copy-of select='@*[not(Det:EmpExperience)]'/>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

它没有工作:-( ...这个PLZ的任何解决方案.

如何只删除<Det:EmpExperience>元素并复制其余元素,包括命名空间?

xslt

3
推荐指数
1
解决办法
3228
查看次数

删除特定元素的命名空间

有没有办法删除特定元素的命名空间?

xslt

3
推荐指数
1
解决办法
9188
查看次数

使用xslt填充值

我的值为233.我的要求是在值的末尾追加'0',这样总长度总是11.

例如233 - >应该是23300000000 [总长度11] 56789 - >应该是56789000000 [总长度11]

这可以在xslt中完成吗?我的问题是如何使用循环将'0'添加到值的末尾?我尝试过 <xsl:for-each>它没有用.如果您有任何其他功能,请告诉我.

谢谢,

xslt

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

maven - 在EAR打包时不要在/ lib之外复制项目jar

包装EAR时会发生这种情况

我的pom.xml打包了ear文件,它应该包含projectA.jar文件和/ lib文件夹之外的projectB.war.显然,projectA.jar文件正在/ lib文件夹里面,这不应该是.我有我的application.xml,它告诉我们这两个项目应该在lib之外.

问题:我如何指示maven不将projectA.jar捆绑在/ lib文件夹中,而是将其捆绑在/ lib文件夹之外?

我的EAR结构应该是:

MyWebEAR

\lib
\META-INF
projectA.jar
ProjectB.war
Run Code Online (Sandbox Code Playgroud)

下面是我的pom.

<dependencies>
    <dependency>
        <groupId>com.xxx.sms</groupId> 
        <artifactId>projectA</artifactId> 
        <version>1.0-SNAPSHOT</version>             
    </dependency>
    <dependency>
        <groupId>com.xxx</groupId>
        <artifactId>projectB</artifactId>
        <version>1.0-SNAPSHOT</version>
        <type>war</type>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-ear-plugin</artifactId>
            <configuration>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
                <earSourceDirectory>${basedir}</earSourceDirectory>
                <earSourceIncludes>META-INF/*</earSourceIncludes>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                    </manifest>
                </archive>
                <generateApplicationXml>false</generateApplicationXml>
                <applicationXML>${basedir}/META-INF/application.xml</applicationXML>
            </configuration>
        </plugin>
    </plugins>
    <finalName>MyWebEAR</finalName>
</build>
Run Code Online (Sandbox Code Playgroud)

谢谢你的时间.

maven-3 maven maven-ear-plugin

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

Bash 脚本 - 将编码的字符串解码为字节数组

我是 bash 脚本的新手,我正在编写一个小脚本,我需要对编码的字符串进行解码并将其转换为字节数组。

my_array=(`echo "dGVzdA==" | base64 -d`)
Run Code Online (Sandbox Code Playgroud)

当我打印数组的大小时,它显示为 1 而不是 4。

echo "${#my_array[*]}"
Run Code Online (Sandbox Code Playgroud)

问题 - 不会base64 -d转换为字节数组?有一个等效的 java 代码,它对我有用:

byte [] b = Base64.getDecoder().decode("dGVzdA==");
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

linux bash shell

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

标签 统计

xslt ×5

java ×2

axis2 ×1

bash ×1

cron ×1

java-8 ×1

java-stream ×1

linux ×1

marshalling ×1

maven ×1

maven-3 ×1

maven-ear-plugin ×1

shell ×1

unix ×1

xml ×1