小编Tom*_*s F的帖子

如何从Bash函数返回字符串值

我想从Bash函数返回一个字符串.

我将在java中编写示例以显示我想要做的事情:

public String getSomeString() {
  return "tadaa";
}

String variable = getSomeString();
Run Code Online (Sandbox Code Playgroud)

以下示例适用于bash,但有更好的方法吗?

function getSomeString {
   echo "tadaa"
}

VARIABLE=$(getSomeString)
Run Code Online (Sandbox Code Playgroud)

string bash function return-value

438
推荐指数
10
解决办法
31万
查看次数

如何将javascript对象减少为仅包含接口的属性

使用typescript时,声明的接口可能如下所示:

interface MyInterface {
  test: string;
}
Run Code Online (Sandbox Code Playgroud)

具有额外属性的实现可能是这样的:

class MyTest implements MyInterface {
  test: string;
  newTest: string;
}
Run Code Online (Sandbox Code Playgroud)

示例(此处变量'reduced'仍包含属性'newTest'):

var test: MyTest = {test: "hello", newTest: "world"}

var reduced: MyInterface = test; // something clever is needed
Run Code Online (Sandbox Code Playgroud)

一般来说,如何使'reduced'变量只包含'MyInterface'接口中声明的属性.

为什么

尝试在将angular.toJson发送到休息服务之前使用'reduced'变量时会出现问题 - toJson方法会转换newTest变量,即使它在编译期间无法在实例上访问,这也使得其余服务不会接受json,因为它具有不应存在的属性.

javascript angularjs typescript

21
推荐指数
3
解决办法
4875
查看次数

如何使用最大化窗口启动gvim?

我想从命令行启动gvim到最大化窗口 - 我该怎么做?

我不希望总是在最大化的窗口中启动(即,将其配置为默认的.vimrc),而是选择提供参数的程序.

也就是说,运行gvim <parameter(s)>应该在最大化窗口中启动程序,但只是运行gvim应该以默认大小启动程序.

linux vim configuration

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

为什么java.lang.Void不能序列化?

默认情况下可以序列化原语'void',为什么对象'Void'不能扩展Serializable?

添加示例:

RootImplementation将有一个编译错误,说"Void不在其范围内",因为它没有扩展Serializable.虽然将'someMethod'声明为'void',但这不是问题.

public interface Root<R extends Serializable> extends Serializable {
  R someMethod();
}

public class RootImplementation implements Root<Void> {
  public Void someMethod() {
    return null;
  }
}
Run Code Online (Sandbox Code Playgroud)

java void

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

如何使用JavaScript读取位于<html>之外的HTML注释?

我在DOM根节点之外有一个HTML注释,我需要阅读:

<html>
   ... other stuff
</html>
<!-- The comment I want to read -->
Run Code Online (Sandbox Code Playgroud)

我能以某种方式用JavaScript做到这一点吗?

html javascript dom

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

如何在weblogic的访问日志中记录会话ID

是否可以在WebLogic 8.1.6的访问日志中记录会话ID?

java logging weblogic sessionid

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

如何更改JPA生成的列名的默认格式

目前我正在将新的JPA实体映射到旧数据库.数据库中的列名称使用下划线分隔列名称,如"my_column_name".

问题是JPA默认使用camel case.

// Will be 'myColumnName' in queries and generated databases
private String myColumnName;
Run Code Online (Sandbox Code Playgroud)

我知道可以在属性上添加@Column(name ="..")或@JoinColumn(name ="...") - 但这意味着我必须将它添加到所有实体中的每个属性.

@Column(name = "my_column_name")
private String myColumnName;
Run Code Online (Sandbox Code Playgroud)

是否可以更改JPA的默认行为以使用'my_column_name'而不是'myColumnName'?

java persistence hibernate jpa openjpa

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

如何在apache karaf中启动一个bundle

我想在启动karaf时启动Camel和ActiveMQ,我发现的是etc/org.apache.karaf.features.cfg,它列出了应该在启动时启动的功能.

featuresBoot=config,ssh,management,camel,activemq,camel-jms,activemq-spring,activemq-camel
Run Code Online (Sandbox Code Playgroud)

除了'activemq-camel'之外,这种方式适用于所有人(很公平,因为它不是一个功能).为了安装apache-camel bundle,我要运行命令:

karaf@...>osgi:install -s mvn:org.apache.activemq/activemq-camel/5.5.0
Run Code Online (Sandbox Code Playgroud)

它可以工作,但我宁愿让它在启动时运行.我可以以某种方式在启动时安装activemq-camel bundle而不为它创建自定义功能吗?

osgi activemq-classic apache-camel apache-karaf

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

如何从maven获取实际的输出文件名

我尝试配置maven ant插件,将构建的工件复制到自定义位置:

<plugins>
  <plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
      <execution>
        <phase>install</phase>
        <goals>
          <goal>run</goal>
        </goals>
        <configuration>
          <tasks>

            <copy verbose="true" 
              file="target/${project.build.finalName}.${project.packaging}"
              tofile="${user.home}/tmp/test/${project.build.finalName}.${project.packaging}"/>

          </tasks>
        </configuration>
      </execution>
    </executions>
  </plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)

这个工作正常,只要包装是标准包装之一......但如果项目的包装是"捆绑"(生成.jar),那么$ {project.packaging}变量就是"捆绑"并且实际文件以".jar"结尾=复制失败.

如何获取放入输出目录的文件的"真实"名称?

ant maven

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