小编vru*_*uum的帖子

在 Jenkins 管道脚本中找不到文件

我正在尝试让当前在我们的 Jenkins 主节点上运行的管道脚本在远程 Jenkins 节点上执行。但我遇到了一个奇怪的FileNotFound例外。

我能够重现问题的最基本的管道版本是这样的:

node("remoteNode") {
env.SERVICE_VERSIONS_FILE = pwd() + '/service_versions.csv'
stage('Read file') {
  git credentialsId: '***', url: '***'      
  sh "cat $env.SERVICE_VERSIONS_FILE"
  new File(env.SERVICE_VERSIONS_FILE).each { line ->
    echo "$line"
   }
  }
}
Run Code Online (Sandbox Code Playgroud)

结果是:

>java.io.FileNotFoundException: /home/***/workspace/DeploymentPipelines/test-deployer/service_versions.csv
> (No such file or directory)   at java.io.FileInputStream.open0(Native
> Method)   at java.io.FileInputStream.open(FileInputStream.java:195)   at
> java.io.FileInputStream.<init>(FileInputStream.java:138)  at
> groovy.util.CharsetToolkit.<init>(CharsetToolkit.java:71)     at
> org.codehaus.groovy.runtime.ResourceGroovyMethods.newReader(ResourceGroovyMethods.java:1572)
>   at
> org.codehaus.groovy.runtime.ResourceGroovyMethods.readLines(ResourceGroovyMethods.java:533)
>   at
> org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.asCollection(DefaultTypeTransformation.java:461)
>   at
> org.codehaus.groovy.runtime.DefaultGroovyMethods.iterator(DefaultGroovyMethods.java:15955)
>   at org.codehaus.groovy.runtime.dgm$367.doMethodInvoke(Unknown Source)
>   at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1213)
> …
Run Code Online (Sandbox Code Playgroud)

jenkins-groovy jenkins-pipeline

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

是否可以在jpa中的辅助表上设置鉴别器列

我目前正在努力将现有的数据库模式映射到jpa实体,并且在很多奇怪的事情中,我已经陷入了这个问题.

我有两个表,类似于:

Table 1          Table 2         
|Service     |  |Servicetype     |
|servicetype |  |Servicecategory |
|            |  |                |
Run Code Online (Sandbox Code Playgroud)

servicetype在表1是一个外键的服务类型表中的两个.但是,表1中的服务根据它们属于哪个类别而具有完全不同的行为(虽然有100多个服务类型,但只有4个类别)我希望能够将表1映射到四个不同实体类,基于其服务类型的类别.

这是我到目前为止:

@Entity
@Table(name = "table1")
@DiscriminatorColumn(name = "servicecategory", discriminatorType =         
     discriminatorType.INTEGER)
@DiscriminatorValue("1")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@SecondaryTable(name = "table2",
pkJoinColumns =
 @PrimaryKeyJoinColumn(name = "servicetype", referencedColumnName = 
"servicetype"))
public class AbstractService implements Serializable {
...etc
Run Code Online (Sandbox Code Playgroud)

并且有4个类从此延伸,但是有一个不同的discriminatorvalue,哪个不起作用,因为我正在使用的eclipselink 试图在table1中查找servicecategory的值.

是否可以用jpa表达这样的映射,或者我应该where servicecategory = ?在每个查询中使用" "进行映射.

java eclipselink jpa-2.0

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