小编Ste*_*lly的帖子

什么时候Java 6生命终结?(在编写开发人员工具的上下文中)

背景

这并不像你想象的那样立即明白.

首先,虽然甲骨文已经停止了对Java 6的公众支持,截至2013年2月,但Premier支持将于2013年12月完成,而扩展支持将持续到2016年12月,这有点长尾.最重要的是,持续支持可以永远持续下去.

下一个主要的Java供应商IBM 似乎甚至没有发布对Java 6的支持(并且在2013年9月之前仍然支持Java 5!)

第三,我们有Apple:2013年6月目前最新的补丁和"该公司没有详细说明其黑白支持政策"似乎是任何人的猜测...但如果他们处理Java 5可以是作为基础我们可能会看到另外18个月左右... 2014年底 - 是吗?

最后我们有OpenJDK ...... Red Hat已经表示他们现在将支持 ......

我甚至没有开始考虑其他JVM实现只是在野外看到的更常见的!

所以从我所看到的,到目前为止,只要你有钱支付Oracle/IBM/Red Hat,你就可以继续获得无限期支持的Java 6版本......

也许我们可以开始更好地构建这个问题,并获得一个非无限期答案的机会:

  • 如果您无法再购买特定JVM运行的硬件/操作系统,那么继续支持该特定JVM有点没有用处.扩展的支持合同适用于现有客户,他们现有的系统很可能满足他们现有的需求......如果他们不能更换为更新的

    这实际上为我们提供了一些关于Apple的背景......由于Apple硬件支持5年(​​如果在加利福尼亚州为7),那么唯一受支持的Apple硬件应该是基于x86的硬件,因为交换机已于2006年12月完成(是最后一个基于PPC的硬件)苹果硬件出货),所以实际上我们不必担心在PPC上运行的Apple Java版本

    同样,我们可以排除在旧版Windows上运行的任何Java版本.这意味着2014年4月如果Java安装程序无法在Windows 7+上运行,那么我们是否可以有效地忽略Windows XP支持的Java版本?

  • 我真正感兴趣的是开发人员工具何时可以推进其最低Java版本.

    一段时间以来,Jenkins一直保持对Java 5的支持,但更新的更新意味着1.520+需要Java 6或更高版本的主服务器和从服务器.如果某些构建从属(例如传统硬件)无法运行较新的JVM,则会导致问题.

    Maven在将JVM分解为J2SE 1.3以运行单元测试方面有着悠久的历史,但从Surefire 2.15开始,它只支持与Java 5一样低的运行单元测试.

    javac在移动到1和三回政策的条款-source-target......所以我们需要等到JDK 10之前的Java 6的源文件支持从javac的下降......计划于2年的发行节奏和Java 8 2014年初发布,这将意味着2016年初的JDK9和2018年初的JDK10 ...但JDK9将在公开维护3年后可用,这意味着2019年的某个时候可能会删除JDK 6源代码兼容性.

是否有明确的日期可用于确定何时OSS开发人员工具链可以放弃对Java 7之前的JVM的支持,那个日期是什么?

OSS的区别非常重要,因为OSS开发人员通常没有资金来购买扩展/优质/维持型支持合同,而且很可能无法访问模糊/大型机硬件.

更新:通过"支持Java 7之前的JVM",我的意思是编译整个工具链是安全的,-target 7 …

java java-6

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

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

我可以在Google的OAuth2屏幕上更改Application Developer字段吗?

在Google的OAuth2屏幕上,当它要求提供权限集时,会有一个"了解详情"链接. 截图

我希望应用程序开发人员字段不显示我的电子邮件地址,而是显示我的雇主的网站.

我知道我可以创建一个通用的电子邮件地址,例如info @ ....并且让它成为应用程序开发人员,但这是次优的并且需要创建一个单独的电子邮件地址,这可能需要监控等...

有没有人能够控制在这个领域显示的内容?

更新

这是创建客户端ID屏幕, 在此输入图像描述 您会注意到电子邮件地址不可编辑:-(

oauth

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

如何验证私有github存储库中的链接

背景

我们正在为我们的支持团队撰写一些文档.我们希望包含存储在私有GitHub存储库中的文件的链接.如果有人重构私有GitHub存储库中的代码,我们不希望文档变得陈旧,所以我正在设置一个解析文档的CI作业(如果您感兴趣,可以使用jsoup)并找到所有链接.一旦我们拥有所有链接,我们就会开始检查它们.

注意:我们编写了一个自定义链接检查器,因为我们拥有的一组关键链接用于我们的监控解决方案,而且遗憾的是(也可以理解)我们使用的SaaS会针对警报URL上的任何未经身份验证的请求返回404.SaaS本身使用2FA来访问Web UI,因此我们最终做的是解析URL,然后构建对SaaS API的等效调用以验证链接.对于我们使用的监控系统,这很简单:所有URL都是相同的格式.

我们curl可以curl使用个人访问令牌验证随机GitHub URL是否有效(理想情况下只使用- 我可以从那里转换到我选择的HTTP客户端,并提供更通用的答案)?如果是这样,怎么样?

网址可以是:

  • 简单直接到repo URL: https://github.com/<org>/<repo>
  • 直接分支网址: https://github.com/<org>/<repo>/tree/<branch>
  • 文件网址: https://github.com/<org>/<repo>/blob/<path/to/file>
  • 差异网址: https://github.com/<org>/<repo>/compare/[<branch>...]<branch>
  • 这是基于回购的存在,不以子路径,例如不同的其他网址https://github.com/<org>/<repo>/pulls,https://github.com/<org>/<repo>/settings/collaboration等等
  • 谁知道人们将在文档中添加的其他URL ...

我试过的东西没用

使用个人访问令牌作为密码的HTTP基本身份验证,例如 curl -I -u stephenc:2....token.redacted....b https://github.com/stephenc/<repo-name> HTTP/1.1 404 Not Found

HTTP承载认证,例如 curl -I -H "Authorization: bearer 2....token.redacted....b" https://github.com/stephenc/<repo-name> HTTP/1.1 404 Not Found

github

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

如何判断随机字符串是否是电子邮件地址或其他内容

我不认为之前已经问过这个问题......我当然找不到这个要求.

背景

有一个返回ID的人的API.一般来说,ID应被视为区分大小写...但如果ID实际上是他们的电子邮件地址......并且您正在谈论此API的一个不那么出色的实现,它返回其电子邮件地址的大小写混合版本,有很多乐趣......

所以你正在谈论一个实现......它会给你提供像ID一样的URL,例如

  • http://foo.bar.com/blahblahblah

接下来你可以和另一个实现交谈......这会给你一些非显而易见的ID,比如说

  • as€jlhdésdj678hjghas7t7qhjdhg£

你可能正在谈论一个很好的实现,它会给你一个漂亮的小写电子邮件地址:

  • bob.mcspam@acme.org

或者你可能正在谈论不那么出色的实现,它返回完全等效的ID

  • bob.mcspam@ACME.org

RFC 2821规定只有邮箱区分大小写,但利用区分大小写的情况会导致大量的操作间问题......

我想要做的是识别电子邮件的字符串并强制域小写.识别URI字符串一样是容易的方案是要么http还是https我只需要小写域名这是一个容易得多解析.

如果给出一个由外部服务提供的字符串,是否有我可以使用的测试将确定该字符串是否是电子邮件地址,以便我可以强制域名小写?

可以忽略少量电子邮件地址,并且不会使域名小写.(允许假阴性)

如果字符串的一部分不是电子邮件地址的域部分,则强制将字符串的一部分强制为小写是不可接受的.(不允许误报)

 更新

请注意,这个问题是来自微妙的不同这个这个是在你的这两个问题的背景已经知道该字符串应该是电子邮件地址.

在这个问题的上下文中,我们不知道字符串是电子邮件地址还是其他东西......这使得这个问题不同

java email

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

无法执行Findbugs:java.lang.OutOfMemoryError:Java堆空间,同时运行mvn声纳:声纳-X

我正在尝试使用maven 3在声纳2.11中进行代码分析.

我正面临这个错误

java.lang.OutOfMemoryError: Java heap space.

我试图将MAVEN_OPTS增加到-Xmx1024m -Xms512m -XX:MaxPermSize=256m但没有用.

该项目规模约900MB.我mvn sonar:sonar -X在maven 3中使用该命令.但构建失败.我没有在我的superPOM中运行测试或使用任何surefire插件.所以我无法找到问题的原因.请帮我弄清楚问题出在哪里.在此先感谢...这是日志......

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] PHOENIX JAVA MODULE COMPONENT ..................... SKIPPED
[INFO] PHOENIX JAVA COMPONENT ............................ FAILURE [1:27:23.969s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1:27:26.229s
[INFO] Finished at: Fri Dec 14 14:14:24 IST 2012
[INFO] Final Memory: 287M/1016M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.0:sonar (default-cli) on project XXX: Can not execute Sonar: Can …
Run Code Online (Sandbox Code Playgroud)

build out-of-memory maven sonarqube

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

谷歌是否推动了OAuth2.0流程的更新,打破了多个帐户?

直到上周,当过我登录到谷歌在多个帐户,我调用OAuth2.0的流程我会得到一个丑陋的画面(看起来像它已与丑陋棒屡创),这是功能性的.它会显示一个单选按钮列表,其中包含我登录的所有帐户,您选择一个并继续完成流程.

本周我现在得到一个功能不佳的漂亮屏幕(不列出帐户,登录按钮只在我登录的帐户列表中添加了一个额外的帐户)我应该指出我登录了4个不同的Google帐户在同一时间.我的应用程序的OAuth2.0似乎工作正常,就好像我在Chrome中启动了一个in-cognito窗口,或者启动了一个新会话并且只登录了一个帐户,我的OAuth流程正常继续.

这只是我还是每个人都被它击中了?

oauth

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

On Duplicate Update不适用于唯一索引

我试图插入/更新我的SQL表有这个定义:

CREATE TABLE `place`.`a_table` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`some_id` bigint(20) NOT NULL,
`someOther_id` bigint(20) NOT NULL,
`some_value` text,
`re_id` bigint(20) NOT NULL DEFAULT '0',
`up_id` bigint(20) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `some_id_key` (`some_id`),
KEY `some_id_index1` (`some_id`,`someOther_id`),
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4;
Run Code Online (Sandbox Code Playgroud)

如您所见,some_id和someOther_id共享一个索引.

我正在尝试执行我的插入/更新语句,如下所示:

INSERT INTO `a_table` (`re_id`,`some_id`,`someOther_id`,`up_id`,`some_value`) VALUES      
(100,181,7,101,'stuff in the memo wow') On DUPLICATE KEY UPDATE 
`up_id`=101,`some_value`='sampleValues'
Run Code Online (Sandbox Code Playgroud)

我希望因为我没有指定id,所以它将作为插入/更新规则返回到索引键(some_id_index1).但是,它只是插入.

显然这是不正确的.我在这做错了什么?

mysql database-indexes

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