我何时选择部署为JBoss SAR而不是EAR?
这是一个更普遍的问题,我正在寻找解释每个部署模型的优缺点的指南,以及哪一个适用.
zip命令通常将输出zip文件放在当前目录中.但是,我想知道我在man页面中是否有一个选项可以让我指定输出存档文件的目标目录.
这在当前目录中创建了"my_archive":
zip -rT my_archive dir_to_be_archived
Run Code Online (Sandbox Code Playgroud)
但是,我希望能够将'my_archive'放在./my_backups下,而不必'cd'进入该备份目录.是否有类似的东西:
zip -rt my_archive dir_to_be_archived --destination ./my_backups
Run Code Online (Sandbox Code Playgroud) 我已经建立了一个Hadoop集群(通过Cloudera Manager使用Cloudera发行版),我正在使用Hue接口运行一些Hive查询,该接口使用下面的Beeswax.
我的所有查询运行正常,我甚至成功部署了自定义UDF.
但是,在部署UDF时,我遇到了一个非常令人沮丧的版本问题.在我的UDF类的初始版本中,我使用了导致a的第三方类StackOverflowError
.
我修复了这个错误,然后验证了可以从hive命令行成功部署和使用UDF.
然后,当我再次使用Hue和Beeswax时,我不断得到同样的错误.我只能通过更改我的UDF java类名来解决这个问题.(从Lower
到Lower2
).
现在,我的问题是,处理这类版本问题的正确方法是什么?
据我所知,当我使用左边的方便表单字段添加jar时,它们会被添加到分布式缓存中.那么,如何刷新/清除分布式缓存?(我无法LIST JARS;
从Hive/Beeswax中运行等.它给我一个语法错误.)
我正在测试从2.2.1迁移到Maven 3.0.1.
除部署阶段外,所有阶段都运行良好.
当我第一次运行2.2.1时,一切运行正常.
然后我切换到3.0.1并运行相同的命令,一切顺利,除了最顶层的maven-metadata.xml文件.当maven尝试上传该文件时,我收到一个http错误:500.
如果您在下面的日志中注意到:
这失败了:
Uploading: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/0.0.1-SNAPSHOT/maven-metadata.xml
Run Code Online (Sandbox Code Playgroud)
但这成功了:
Uploading: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/maven-metadata.xml
Run Code Online (Sandbox Code Playgroud)
让我感到惊讶的是,我没有找到关于这个问题的更多信息.然后,maven 3只出现了大约8个月.
我发现这两个我不认为与我有关的问题:_http://maven.40175.n5.nabble.com/Created-MSITE-531-Site-deployment-fails-on-googlecode-repository-unnecessary-路径元素在-的WebDAV - td3307584.html
_http://maven.40175.n5.nabble.com/Moved-WAGON-319-Site-deployment-fails-on-googlecode-repository-unnecessary-path-element-in-WebDAV-UR-td3308501.html
我还尝试完全从'artifactory'中删除旧的工件并再次部署.
我希望有人能指出我在这里正确的方向.
我正在粘贴下面的相关信息.
提前致谢.
这是控制台输出的相关部分:
[INFO] --- maven-install-plugin:2.3.1:install (default-install) @ ThirdPartyDeploymentProject ---
[INFO] Installing D:\PRIVATE\src\experiments\CIMM-Building\ThirdPartyDeploymentProject\target\ThirdPartyDeploymentProject-1-SNAPSHOT.jar to C:\Program Files\apache-maven-2.2.1\repo\com\***\deployment\ThirdPartyDeploymentProject\1-SNAPSHOT\ThirdPartyDeploymentProject-1-SNAPSHOT.jar
[INFO] Installing D:\PRIVATE\src\experiments\CIMM-Building\ThirdPartyDeploymentProject\pom.xml to C:\Program Files\apache-maven-2.2.1\repo\com\***\deployment\ThirdPartyDeploymentProject\1-SNAPSHOT\ThirdPartyDeploymentProject-1-SNAPSHOT.pom
[INFO]
[INFO] --- maven-deploy-plugin:2.5:deploy (default-deploy) @ ThirdPartyDeploymentProject ---
Downloading: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/1-SNAPSHOT/maven-metadata.xml
Uploading: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/1-SNAPSHOT/ThirdPartyDeploymentProject-1-20110107.154227-1.jar
Uploaded: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/1-SNAPSHOT/ThirdPartyDeploymentProject-1-20110107.154227-1.jar (3 KB at 18.4 KB/sec)
Uploading: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/1-SNAPSHOT/ThirdPartyDeploymentProject-1-20110107.154227-1.pom
Uploaded: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/1-SNAPSHOT/ThirdPartyDeploymentProject-1-20110107.154227-1.pom (2 KB at 1.9 KB/sec)
Downloading: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/maven-metadata.xml
Downloaded: http://mvn.***.com:8080/artifactory/***-project-assets/com/***/deployment/ThirdPartyDeploymentProject/maven-metadata.xml (305 B at 0.4 KB/sec)
Uploading: …
Run Code Online (Sandbox Code Playgroud) 我有一个基于6节点cloudera的hadoop集群,我正在尝试从oozie中的sqoop操作连接到oracle数据库.
我已将我的ojdbc6.jar复制到sqoop lib位置(对我来说恰好位于:/opt/cloudera/parcels/CDH-4.2.0-1.cdh4.2.0.p0.10/lib/sqoop/lib/ )在所有节点上,并验证我可以从所有6个节点运行一个简单的'sqoop eval'.
现在,当我使用Oozie的sqoop操作运行相同的命令时,我得到"无法加载db驱动程序类:oracle.jdbc.OracleDriver"
我已经阅读了这篇关于使用共享库的文章,当我们谈论我的任务/动作/工作流特定的依赖关系时,这对我来说很有意义.但是我看到一个JDBC驱动程序安装作为sqoop的扩展,所以我认为它属于sqoop安装库.
现在的问题是,虽然sqoop看到这个ojdbc6 jar我已经放入它的lib文件夹,为什么我的Oozie工作流程看不到它?
这是预期的事情还是我错过了什么?
顺便说一下,你怎么看待JDBC驱动程序jar的适当位置?
提前致谢!
我正在开发一个自定义gradle插件,我的插件项目的依赖项如下所示:
dependencies {
compile gradleApi()
compile localGroovy()
compile('com.xxx.oozie:oozie-dsl-parser:1.0.127') {
exclude module: 'groovy-all'
}
testCompile('org.spockframework:spock-core:1.0-groovy-2.3') {
exclude module: 'groovy-all'
}
}
Run Code Online (Sandbox Code Playgroud)
但是,为了可重复的构建,我想知道是否使用localGroovy()
并且gradleApi()
是可取的.
经过大量的谷歌搜索,虽然我可以替换localGroovy()
特定版本的groovy,我似乎无法找到一个明确的答案我将替换gradleApi()
.
你们有什么建议吗?
谢谢!
我有一个 gradle 构建脚本,其中使用“Zip”任务直接从源目录生成 zip 存档。
\n\n除了将源目录结构内的所有文件复制到 zip 存档中之外,我还在寻找一种方法来包含不在源目录中的动态生成的文件。
\n\n你们知道我该怎么做吗?
\n\n这是我想要做的伪代码:
\n\ntask('archive', type: Zip) {\n ...\n from 'source'\n newFile('dynamically-generated.txt', 'dynamic file content')\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n以下是源结构和目标结构:
\n\n[i71178@bddev01-shell01 ~]$ tree source/\nsource/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file1.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 file2.txt\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 file3.txt\n\n0 directories, 3 files\n[i71178@bddev01-shell01 ~]$ unzip -l destination.zip\nArchive: destination.zip\n Length Date Time Name\n\n--------- ---------- ----- ----\n 0 02-26-2016 16:56 source/\n 0 02-26-2016 16:56 source/file2.txt\n 0 02-26-2016 16:56 source/dynamically-generated.txt\n 0 02-26-2016 16:56 source/file1.txt\n 0 02-26-2016 16:56 source/file3.txt\n--------- -------\n 0 5 files\n
Run Code Online (Sandbox Code Playgroud)\n 这是我的 docker-compose 文件的一部分:
version: "3.2"
services:
cachable_service:
image: my/cachable_service:x.x
build:
context: .
dockerfile: cachable_service_Dockerfile
service_in_development:
image: my/service_in_development:latest
build:
context: .
dockerfile: Dockerfile
depends_on:
- cachable_service
Run Code Online (Sandbox Code Playgroud)
如何强制只service_in_development
从头开始构建图像,以便我在其中获取最新的代码?
我已经研究了文件参考cache_from
中的选项docker-compose
,但找不到任何关于它到底做什么的明确解释。
澄清:
在这个问题中,我询问了一个选项,可以使用以下选项强制重建特定服务:docker-compose.yml
文件本身中的选项强制仅重建特定服务的选项。但是,如果命令行选项让我这样做,我现在也会对此感到满意。
另外,我正在谈论强制“重建”图像。不仅仅是服务的“娱乐”。
我正在使用Camel的spring DSL来构建路由,而我正在使用我的POJO bean作为处理器.
最初,我这样做:
<bean ref="myPojoBeanProcessor"/>
Run Code Online (Sandbox Code Playgroud)
其中,'myPojoBeanProcessor'在我的spring上下文中定义为bean.
然后,我切换到:
<bean beanType="com.mycompany.transformation.MyPojoBeanProcessor"/>
Run Code Online (Sandbox Code Playgroud)
我认为Java DSL等价物是:
from("xxx").bean(MyPojoBeanProcessor.class).xxx
Run Code Online (Sandbox Code Playgroud)
我想知道是否使用后面的方法,bean对象将被每个请求实例化,或者bean实例是否被缓存并用作单例(如spring中的默认值).
我无法在骆驼文档或谷歌上找到答案.有谁知道这个问题的答案?
我正在尝试选择具有特定列的最大值的记录,这是我到目前为止所拥有的:
select o from Order o
where o.orderNumber = :orderNumber
and o.version =
(select max(o.version) from Order o where o.orderNumber = :orderNumber)
Run Code Online (Sandbox Code Playgroud)
这似乎是生成SQL:
SELECT *
FROM Order
WHERE ordernumber = :orderNumber
AND orderversion = (SELECT Max(orderversion)
FROM order
WHERE ordernumber = :orderNumber);
Run Code Online (Sandbox Code Playgroud)
我认为以下SQL会更有效:
SELECT *
FROM order ord
INNER JOIN (SELECT ordernumber,
Max (version) AS version
FROM order
WHERE ordernumber = :ordernumber
GROUP BY ordernumber) mx
ON ord.ordernumber = mx.ordernumber
AND ord.version = mx.version;
Run Code Online (Sandbox Code Playgroud)
无论如何我可以在JPQL中表达这个吗?
(对于在特定字段上选择具有最大值的记录相关的问题,大多数在线答案似乎表明我提出的上述JPQL ...)
可能重复:
StringBuilder的容量如何变化?
假设分配了一个StringBuilder,然后它增长到超过85k,它会被移到大对象堆上吗?
我知道我可以在scala中执行此操作,但有没有办法在python中执行类似的操作:
def validate_config(data_dir, config_file_dir = data_dir + '/config', json_schema = None):
print(data_dir)
print(config_file_dir)
print(json_schema)
validate_config('data')
Run Code Online (Sandbox Code Playgroud)
我期待的输出是:
data
data/config
None
Run Code Online (Sandbox Code Playgroud)
谢谢!