自从将我的 jdk 升级到 Corretto jdk11.0.15_9 以来,jaxb2-maven-plugin 的 xjc 目标失败了。使用 Temurin jdk-11.0.14.1+1 运行时,该问题不会出现。我在 Windows 10 上使用 maven 3.8.5 运行它。
命令:
> set JAVA_HOME=C:\Corretto\jdk11.0.15_9
> mvn jaxb2:xjc
[INFO] Scanning for projects...
[INFO]
[INFO] -----------------< com.example >------------------
[INFO] Building example 1.0.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- jaxb2-maven-plugin:2.5.0:xjc (default-cli) @ example ---
[INFO] Created EpisodePath [C:\Workspace\example\target\generated-sources\jaxb\META-INF\JAXB]: true
[INFO] Created EpisodePath [C:\Workspace\example\target\generated-sources\jaxb\META-INF\JAXB]: true
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.764 s
[INFO] Finished at: 2022-04-21T15:24:15+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed …Run Code Online (Sandbox Code Playgroud) 我有一个页面加载了很多图像,CSS和JavaScript.我已经添加了一个远期的Expires头,并在这些外部依赖项上将Cache-Control设置为public,因此它们应该被缓存.但是每次我执行Post/Redirect/Get chrome都会尝试再次加载它们.此行为与重新加载页面非常相似.我已经添加了ETag并处理了If-None-Match标头,它有点帮助,但它仍然会产生太多无用的请求.
如何告诉chrome和safari从缓存中获取文件?
chrome NOK
safari NOK
firefox OK
ie OK
Run Code Online (Sandbox Code Playgroud)
另请参阅Google支持论坛上发布/重定向/获取忽略缓存控制的完整页面重新加载.
澄清:
我不希望浏览器请求image1.png两次.它应该被缓存.
200 GET page1.html
200 GET image1.png (Cache-Control: public, Expires and ETag)
302 POST action.asp (form submitted from page1.html, redirects)
200 GET page2.html
304 GET image1.png (If-None-Match)
Run Code Online (Sandbox Code Playgroud)
例:
我已经创建了一个简单的例子来说明问题.
头:
我随图像发送的标题是:
HTTP/1.1 200 OK
Date: Fri, 18 Jun 2010 11:30:22 GMT
Server: Apache
Cache-Control: public, max-age=86400
Expires: Sat, 19 Jun 2010 11:30:24 GMT
Etag: "123"
Content-Length: 866
Content-Type: image/png
Run Code Online (Sandbox Code Playgroud)
哪个应该让它缓存24小时.没有变化:*或类似的东西.
更新: 此行为现在也出现在iOS …
我有一个表,每次加载网页时都会记录用户ID,课程,sessionid和requestdate.我想计算给定courseid的每个用户ID的持续时间.由于时间跨度重叠,这样做是有问题的.
这里提供的数据应该导致每个用户持续10分钟的课程1.我似乎无法做到这一点.
CREATE TABLE PageLogSample (
id INT NOT NULL PRIMARY KEY IDENTITY
, userid INT
, courseid INT
, sessionid INT
, requestdate DATETIME
);
TRUNCATE TABLE PageLogSample;
INSERT INTO PageLogSample (userid, courseid, sessionid, requestdate)
-- [0, 10] = 10 minutes
SELECT 1, 1, 1, '00:00:00'
UNION ALL SELECT 1, 1, 1, '00:10:00'
-- [0, 12] - [3, 5] = 10 minutes
-- or ... [0, 3] + [5, 12] = 10 minutes
UNION ALL SELECT 2, 1, 2, …Run Code Online (Sandbox Code Playgroud) 我正在尝试将@Named bean注入Junit测试.
这适用于我的ejb模块,但我的war模块中的相同方法失败了.我想知道为什么会这样org.apache.openejb.OpenEJBException: Creating application failed: couldn't start owb context.
我知道这看起来与在运行JUnit时注入了CDI bean的EJB 3.1问题中的问题相同,但它不能与在另一个模块中工作的相同.
源代码在这里:https://github.com/Crydust/guestbook
工作测试: guestbook/guestbook-ejb/src/test/java/be/crydust/guestbook/ejb/PostBoundaryTest.java
测试失败: guestbook/guestbook-web/src/test/java/be/crydust/guestbook/web/PostBackingTest.java
失败测试的来源(省略进口):
public class PostBackingTest {
private static EJBContainer ejbContainer;
@Inject
PostBacking cut;
@BeforeClass
public static void startTheContainer() {
ejbContainer = EJBContainer.createEJBContainer();
}
@Before
public void setUp() throws Exception {
ejbContainer.getContext().bind("inject", this);
}
@AfterClass
public static void afterClass() {
if (ejbContainer != null) {
ejbContainer.close();
}
}
// FIXME injection fails
@Test
public void …Run Code Online (Sandbox Code Playgroud) 当在windows上的sublime text 2中运行grunt时,它似乎只显示输出的第一行.奇怪的是,所有任务都已完成.添加"shell": true或false似乎没有任何影响.同样没有增加cmd /c,甚至start /wait /b.
如何阻止崇高文本吃剩下的输出?
// grunt.sublime-build
{
"cmd": ["grunt.cmd", "--no-color", "--verbose"],
"working_dir": "${project_path:${folder}}",
"selector": ["source.js", "source.less", "source.json", "source.ts"],
"shell": true
}
Run Code Online (Sandbox Code Playgroud)
我得到的唯一输出是:
Initializing
[Finished in 1.6s]
Run Code Online (Sandbox Code Playgroud)
更新 这似乎与Sublime Text 2 issue 23:Windows Build Panel Eats Stdout有关.
更新 有一个解决方法,但它很难看.
// grunt.sublime-build
{
"cmd": ["grunt.cmd", "--no-color", ">", "c:\\temp\\st2.txt", "&&", "type", "c:\\temp\\st2.txt"],
"working_dir": "${project_path:${folder}}",
"selector": ["source.js", "source.less", "source.json", "source.ts"]
}
Run Code Online (Sandbox Code Playgroud)