在我当前的项目中,我们使用字符串的属性文件。然后使用 MessageFormat 对这些字符串进行“格式化”。不幸的是,MessagFormat 处理了单引号,这在使用大量撇号的语言(例如法语)中有点障碍。
例如,假设我们有这个条目
login.userUnknown=User {0} does not exist
Run Code Online (Sandbox Code Playgroud)
当这被翻译成法语时,我们得到:
login.userUnknown=L'utilisateur {0} n'existe pas
Run Code Online (Sandbox Code Playgroud)
这个,MessageFormat 不喜欢...
而我,不喜欢以下内容,即必须使用双引号:
login.userUnknown=L''utilisateur {0} n''existe pas
Run Code Online (Sandbox Code Playgroud)
我不喜欢它的原因是它到处都会导致拼写检查错误。
问题:我正在寻找以下说明的替代方法,即不需要双引号但仍使用位置占位符({0}、{1}...)的替代方法。还有什么我可以使用的吗?
MessageFormat.format(Messages.getString("login.userUnkown"), username);
Run Code Online (Sandbox Code Playgroud) 显示JavaScript源文件内容的Outline视图的问题并不新鲜,它甚至找到了答案.
但是,这个答案在Neon(4.6.0)中不再有效:我打开了在两个独立工作区中导入的一个项目的完全相同的文件,每个版本的Eclipse一个,Mars显示完整的大纲(3个名称空间,大约80个)成员)而Neon显示两个名称空间和0个成员.在Java透视图中.
例如,以下代码取自我上面链接的问题,在Mars SR2和Neon中给出了以下结果:
var myNamespace = function()
{
/**
* @memberOf myNamespace
*/
function myFunc1()
{
}
/**
* @memberOf myNamespace
*/
function myFunc2()
{
}
return {
name : "myNamespace",
myFunc1 : myFunc1,
myFunc2 : myFunc2
}
}();
Run Code Online (Sandbox Code Playgroud)
火星SR2的结果(OK):
霓虹灯(NOK)的结果:
是否需要启用一些新的配置设置?eclipse.org上的JSDT Wiki很明显,Eclipse中的帮助内容根本没用,我不知道在哪里可以找到明确的指令.
可见空间和Outline视图的内容是我不能没有的东西所以我希望这更像是一个配置而不是bug.
[编辑] 注意:如果您碰巧使用Mars以后发布并且启用了Oomph同步,则火星中的这个概述功能可能会消失.它发生在我身上,解决方案是禁用与后续版本的Oomph同步(在我的情况下是Neon); 然而,我继续将Mars首选项存储到工作区中(而不是将它们保存到用户中).
我需要对 POM 文件部分中的依赖关系进行排序dependencyManagement,该文件用作我团队组合中所有项目的父项目。
这样做的动机与此处描述的动机类似。就我而言,我只是试图协调整个产品组合中使用的版本,以避免反复出现版本差异的噩梦:由于复制粘贴,一些项目使用依赖项的一个版本,而其他项目则使用另一个版本。另一个动机是只有一个地方来管理依赖关系。我所做的本质上是将所有模块的依赖项规范合并到dependencyManagement父 POM 的一个巨大部分中。(编辑:在寻找我的这种需求的答案的过程中,我了解到这样的 POM 就是 Maven 所说的 BOM 或“物料清单”。)
但是,此任务要求我在父 POM 中定义每个依赖项的版本。这样做时,我发现自己将依赖项规范放在不断增长的依赖项列表中的某个位置。添加依赖项并查明依赖项是否已指定变得越来越困难。但如果我可以对依赖项进行排序(例如按组 ID),那就容易多了。
是否有一个插件可以实现重新排序依赖项的目的?作为最后的手段,我最终会编写一个小程序,从父 POM 读取 XML 文件并排序输出。
我想知道是否可以导出/复制使用 Maven 管理的项目的依赖项,同时维护本地存储库中采用的文件夹结构。
我需要的根源是我在本地存储库(~8GB)中积累了近十年的大量工件。我不再处理以前任务中那些吸引了大部分工件的旧项目,现在,我需要将单个项目(约 650MB 工件)所需的内容移动到另一台计算机上。我不能只是设置另一台计算机再次下载工件,因为在以前的分配中,许多工件是从本地 Nexus 代理检索的。此外,我没有这些工件的源代码,所以我不能只安装它们。
dependency:copy-dependencies 没有用,因为所有的工件都被简单地转储到一个文件夹中,而不是说 .m2\repository\mysql\mysql-connector-java\5.1.38\mysql-connector-java-5.1.38.jar
我相信我的问题也可以改写为“如何从本地 Maven 存储库中提取仅与一个特定项目相关的存储库子集?”
我已经开始为使用Symfony开发的应用程序实现控制器.这是我第一次尝试同时使用Symfony和PHP:我通常使用Java,以及JAX-RS或Spring.我按照本教程.
我的测试类如下,URI /tags按预期工作:
namespace AppBundle\Controller;
use FOS\RestBundle\Controller\Annotations as Rest;
use FOS\RestBundle\Controller\FOSRestController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
class TagController extends FOSRestController
{
/**
* @Rest\Get("/tags")
*/
public function getTagsAction(Request $request)
{
$data = ['getTagsAction' => 'not implemented yet'];
$view = $this->view($data, Response::HTTP_OK);
return $view;
}
}
Run Code Online (Sandbox Code Playgroud)
我想,仅使用注释,所有路由自动以"api"为前缀,以便/tags客户端使用/api/tags.
是否可以定义这样一个通用前缀,它会自动添加到所有函数的路径之前?阅读文档,我认为这个Docblock的补充将是答案:
/**
* @Rest\Prefix("/api")
*/
class TagController extends FOSRestController
{
...
}
Run Code Online (Sandbox Code Playgroud)
然而,对另一个问题的这个答案似乎给出了@Prefix注释的不同含义.
此外,某处有路由缓存吗?未获取对路线的更改(tag而不是tags).我怀疑有一个动作可以通知框架更改路径或添加新控制器.
[编辑]确实有一个缓存/var/cache.我相信控制台获取通过浏览器看似忽略的更改的原因是控制台假设开发环境,而通过浏览器访问app.php …
我有一个与这个问题类似的问题,但方式略有不同,这使得一切都不同。
\n\n我的问题是,我正在将项目组合从 Java 8/Hibernate 4.x 堆栈迁移到 Java 11/Hibernate 5.4 堆栈。
\n\n在第二种情况下,一旦应用程序尝试保存对象,我就会收到此错误:
\n\n\n\n\norg.postgresql.util.PSQLException:错误:关系“hibernate_sequence”不存在
\n
我上面提到的另一个问题的答案提供了一些见解,但我仍然不明白为什么会发生该错误:我们所有的实体都在使用每个自己的序列,并且该序列在相应的 hbm.xml 中明确指定。这是一个这样的映射文件:
\n\n<?xml version="1.0"?>\n<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" \n "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">\n<hibernate-mapping default-lazy="false">\n <class name="\xe2\x80\xa6" table="data_receiving">\n <id name="systemId" column="system_id">\n <generator class="sequence">\n <param name="sequence">system_id_seq</param>\n </generator>\n </id>\n <property name="source" column="source" />\n \xe2\x80\xa6\n </class>\n</hibernate-mapping>\nRun Code Online (Sandbox Code Playgroud)\n\n看起来序列的规范被忽略了。我查找了一些旧 Hibernate 与 XML 映射的文档,但我找不到与 Hibernate 5 相关的任何内容,据报道 Hibernate 5仍然支持此类映射。
\n\n解决方案可能是完全迁移到注释,但该组合包含十几个应用程序,其中有数十个表和总列数(在一个应用程序中)超过 1200 个。这项任务根本不切实际,尤其是因为某些应用程序正在从头开始重写为微服务。
\n\n我的问题是我所使用的序列生成标识符的规范是否仍然受支持?
\njava ×2
maven ×2
eclipse ×1
hibernate ×1
javascript ×1
jsdt ×1
localization ×1
maven-3 ×1
php ×1
symfony ×1