小编Mar*_*328的帖子

是否有一种简单的方法可以将多行文本连接成一个字符串,而无需不断添加换行符?

所以我基本上需要这样做:

String text = "line1\n";
text += "line2\n";
text += "line3\n";
useString( text );
Run Code Online (Sandbox Code Playgroud)

涉及的更多,但这是基本的想法.有没有什么可以让我做更多的事情呢?

DesiredStringThinger text = new DesiredStringThinger();
text.append( "line1" );
text.append( "line2" );
text.append( "line3" );
useString( text.toString() );
Run Code Online (Sandbox Code Playgroud)

显然,它不需要像那样工作,但我认为我得到了基本的观点.总是可以选择编写一个循环来自己处理文本,但是如果有一个标准的Java类已经做了类似的事情而不是我需要在应用程序之间进行一个类就这样我就可以了.做一些如此微不足道的事情.

谢谢!

java string concatenation append

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

使用Eclipse和Tomcat开发Scala/Lift Web App

所以我在过去的11个小时里试图让最简单的Scala/Lift应用程序通过Eclipse在Tomcat上运行.显然没有人试图这样做,或者这是世界上最简单的事情,所以没有人记录他们是如何做到的.使用maven原型创建代码并使用mvn tomcat运行它:运行没问题.通过Eclipse完成所有工作是另一回事.我会说这是我第一次尝试在Eclipse中使用Maven做任何事都没有帮助.我试过m2eclipse和eclipse-IAM.如果有人能够从头到尾指导我完成整个过程,或者将我指向可以的资源,那就太棒了.谢谢.


版本/错误详细信息

Scala 2.8带升降机2.1

如果我使用Scala 2.8和Lift 2.1(?)与eclipse 3.5.2,scala-ide和eclipse-iam,我的pom.xml文件告诉我:

错误:解析'org.scala-tools:maven-scala-plugin'版本时出错:插件需要Maven版本2.2.1

我使用这个原型定义从Maven项目创建向导创建了项目:

<archetype>
    <groupId>net.liftweb</groupId>
    <artifactId>lift-archetype-blank_2.8.0</artifactId>
    <version>2.1-SNAPSHOT</version>
    <repository>http://scala-tools.org/repo-snapshots</repository>
    <description>Shawn's Custom Thinger</description>
</archetype>
Run Code Online (Sandbox Code Playgroud)

根据我的理解,这里的问题是从2.1-SNAPSHOT创建的pom.xml文件需要Maven 2.2.1,但是eclipse-iam还没有使用该版本.我还没有设法找到一种方法来使用我自己安装的Maven v2.2.1.据说eclipse-iam不允许使用外部maven安装.

其他尝试

我尝试用这个原型构建项目:

<archetype>
    <groupId>net.liftweb</groupId>
    <artifactId>lift-archetype-jpa-blank</artifactId>
    <version>1.1-SNAPSHOT</version>
    <repository>http://scala-tools.org/repo-snapshots</repository>
    <description>Archetype - blank JPA project for Lift</description>
</archetype>
Run Code Online (Sandbox Code Playgroud)

但是,我从Tomcat获取运行时错误,因为我的bootstrap.liftweb.Boot类有ClassNotFound错误.但是,我可以看到maven为我创建了一个默认的Boot类.

m2eclipse的

我使用m2eclipse得到了一个没有错误的项目,但是我遇到了在Tomcat上部署它的问题.我打算重新考虑这个,因为我很好奇,如果我确实设法使一个项目工作,但在我尝试它时在URL中有一个区分大小写的问题.但是,这个过程更加手动.如果可能的话,我更喜欢eclipse-iam解决方案,但是我会在这一点上采取我所能得到的解决方案.

eclipse tomcat maven-2 scala lift

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

从PHP应用程序中抽象数据库的最佳方法是什么?

我的问题是如何从应用程序的模型层抽象数据库连接?主要关注点是能够轻松地从不同类型的数据库进行更改.也许你从一个平面文件,逗号分隔的数据库开始.然后,您想要移动到SQL数据库.然后您决定LDAP实现会更好.一个人如何轻松地计划这样的事情?

举一个简单的例子,假设您有一个名字,姓氏和电子邮件的用户.表示它的非常简单的PHP类可能如下所示(请忽略公共实例变量的问题):

<?php

class User {
  public $first;
  public $last;
  public $email;
}

?>
Run Code Online (Sandbox Code Playgroud)

我经常看到人们有一个DAO类,其中嵌入了SQL,如下所示:

<?php

class UserDAO {
  public $id;
  public $fist;
  public $last;
  public $email;

  public function create( &$db ) {
    $sql = "INSERT INTO user VALUES( '$first', '$last', '$email' )";
    $db->query( $sql );
  }
}

?>
Run Code Online (Sandbox Code Playgroud)

我这样的策略的问题是当你想要改变你的数据库时,你必须改变每个DAO类的创建,更新,加载,删除功能来处理你的新类型的数据库.即使你有一个程序为你自动生成它们(我不是特别喜欢它),你必须编辑这个程序才能使它现在正常工作.

你对如何处理这个问题有什么建议?

我目前的想法是为DAO对象创建一个超类,它有自己的创建,删除,更新,加载函数.但是,这些函数将获取DAO属性的数组并生成查询本身.通过这种方式,唯一的SQL是在SuperDAO类中,而不是分散在几个类中.然后,如果要更改数据库层,则只需更改SuperDAO类生成查询的方式.好处?缺点是什么?可预见的问题?黄金三镖客?

php database orm abstraction design-patterns

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

角度2变化检测因电子而破裂

我有一个使用Angular 2的Electron应用程序.应用程序正常工作,直到使用ipcRenderer从本地JSON文件加载数据.然后,作用于服务中的数据的按钮不再触发改变检测过程以更新视图.我创建了一个简化的示例应用程序,它在这里演示了这个问题:https: //github.com/marshmellow1328/electron-angular-change-detection

我不知道为什么按钮停止触发本机更改检测.必须添加ChangeDetectorRef似乎没有必要.如果是的话,我想了解原因.

electron angular2-changedetection angular

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

如何在 docker compose Secret 中使用主目录中的文件?

我正在尝试构建一个包含私有节点包的 docker 容器。我已按照本指南使用密钥安全地引用 npmrc 文件来安装依赖项。当使用这样的命令直接构建图像时,我可以让它工作:docker build --secret id=npm,src=$HOME/.npmrc .但我无法使用 docker compose 让它工作。运行 a 时,docker compose build它的行为就像没有 npmrc 文件,并在尝试下载依赖项时给出 401。

我在下面提供了 Dockerfile 和 docker-compose.yml 的精简版本。

Dockerfile

# syntax = docker/dockerfile:1.2
FROM node:14.17.1

COPY . .

RUN --mount=type=secret,id=npm,target=/root/.npmrc yarn --frozen-lockfile --production

EXPOSE 3000

CMD [ "npm", "start" ]
Run Code Online (Sandbox Code Playgroud)

docker-compose.yml

# syntax = docker/dockerfile:1.2
FROM node:14.17.1

COPY . .

RUN --mount=type=secret,id=npm,target=/root/.npmrc yarn --frozen-lockfile --production

EXPOSE 3000

CMD [ "npm", "start" ]
Run Code Online (Sandbox Code Playgroud)

node.js docker docker-compose

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

带有Spring MVC的JPA通过注释配置

我正在尝试创建一个利用JPA作为其持久层的Spring MVC应用程序.不幸的是,我在访问EntityManager时遇到了NullPointerException,因为Spring似乎没有注入它.我的配置是基于注释的@EnableWebMvc.经过一番搜索,我在我的DAO上添加了@Transactional,在我的@Configuration类上添加了@EnableTransactionManagement.然后我得到一个关于没有DataSource的错误.据推测,具有@EnableTransactionManagement的类需要实现TransactionManagementConfigurer.但是,我在弄清楚如何创建DataSource以及为什么它无法从我的persistence.xml中获取它时遇到了问题.

我非常感谢任何尝试将EntityManager注入我的DAO的帮助.

我的@Configuration类

@Configuration
@EnableWebMvc
@EnableTransactionManagement
@ComponentScan("com.example.myapp")
public class MvcConfig extends WebMvcConfigurerAdapter 
        implements TransactionManagementConfigurer {

private static final boolean CACHE_ENABLED = true;
private static final String TEMPLATE_PATH = "/WEB-INF/freemarker";
private static final String TEMPLATE_SUFFIX = ".ftl";

private static final Logger LOG = Logger.getLogger( MvcConfig.class );

@Override
public void addResourceHandlers( ResourceHandlerRegistry registry ) {
    registry.addResourceHandler( "/stylesheets/**" ).addResourceLocations( "/stylesheets/" );
}

@Bean
public FreeMarkerConfigurer configureFreeMarker() {
    final FreeMarkerConfigurer configurer = new FreeMarkerConfigurer();
    configurer.setTemplateLoaderPath( TEMPLATE_PATH );
    return configurer;
}

@Bean
public ViewResolver …
Run Code Online (Sandbox Code Playgroud)

spring jpa spring-mvc

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

流浪汉与图书管理员 - 木偶破碎

我在配置新的Vagrant实例时遇到问题.我之前使用过完全相同的配置没有问题.以前我无法弄清楚造成问题的原因.

Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "precise64"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"

  config.vm.network :forwarded_port, guest: 80, host: 8080

  config.vm.provision :shell, :path => "puppet_prep.sh"

  config.vm.provision :puppet do |puppet|
    puppet.manifests_path = "puppet/manifests"
    puppet.manifest_file  = "init.pp"
  end
end
Run Code Online (Sandbox Code Playgroud)

puppet_prep.sh 来自https://github.com/purple52/librarian-puppet-vagrant

#!/bin/sh

# Directory in which librarian-puppet should manage its modules directory
PUPPET_DIR=/etc/puppet/

# NB: librarian-puppet might need git …
Run Code Online (Sandbox Code Playgroud)

puppet vagrant ubuntu-12.04

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

WordPress插件中的全局变量

我正在尝试创建我的第一个WordPress插件.即使在尝试创建安装功能时,事情也很痛苦.我想设置一些特定于我的插件的全局变量,而不是将文字值放在各种函数中.但是,我的安装函数不会获取这些全局变量.到目前为止,这是我的代码:

$version = '1.0a';
register_activation_hook( __FILE__, 'install' );
function install() {
  global $version;
  add_option( 'test_version', $version );
}
Run Code Online (Sandbox Code Playgroud)

显然,这对我来说非常直截了当.任何想法在这里出了什么问题?

php wordpress global-variables

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

JPA不急于加载一切

我在通过OpenJPA实现利用JPA 1.0时遇到了问题.我的数据模型包括一个与Leg有OneToMany关系的Trip和一个与Passenger的OneToMany关系.Leg和Passenger在PassengerLeg中有一个关联.这被映射为双向OneToMany/ManyToOne.基本上我的数据模型中有一颗钻石.如果旅行有2条腿和3名乘客,将有6个乘客腿.对于各种用例,我需要从每个实体的每个方向.现在,当我试图急切地加载所有内容时,PassengerLeg中的leg字段将为null,我无法弄清楚原因.这是我课程的一个吝啬代表:

@Entity
public class Trip {

  @OneToMany(mappedBy = "trip", fetch = FetchType.EAGER)
  private List<Leg> legs;

  @OneToMany(mappedBy = "trip", fetch = FetchType.EAGER)
  private List<Passenger> passengers;

}

@Entity
public class Leg {

  @ManyToOne
  @JoinColumn(name = "TRIP_ID")
  private Trip trip;

  @OneToMany(mappedBy = "leg", fetch = FetchType.EAGER)
  private List<PassengerLeg> passengers;

}

@Entity
public class Passenger {

  @ManyToOne
  @JoinColumn(name = "TRIP_ID")
  private Trip trip;

  @OneToMany(mappedBy = "passenger", fetch = FetchType.EAGER)
  private List<PassengerLeg> legs;

}

@Entity
public class PassengerLeg {

  @ManyToOne
  @JoinColumn(name = "LEG_ID")
  private …
Run Code Online (Sandbox Code Playgroud)

java jpa openjpa

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