Нашел ответ. Это может быть слишком специфично для моего кода или слишком расплывчато, чтобы быть полезным, но я решил, что все равно оставлю это здесь ...
На этапе пост-обработки инициализации Spring все компоненты bean были отправлены через следующий класс весной
org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
blockquote >Метод:
protected String resolPlaceholder (String, Properties, int)
blockquote>Каждый атрибут beanClass пытался разрешиться как свойство и обнулялся. Не знаю точно, почему это происходило только с юнит-тестами
Вот простой пример:
#!/usr/bin/perl -w
use strict;
use warnings 'all';
use Archive::Tar;
# Create a new tar object:
my $tar = Archive::Tar->new();
# Add some files:
$tar->add_files( </path/to/files/*.html> );
# */ fix syntax highlighing in stackoverflow.com
# Finished:
$tar->write( 'file.tar' );
# Now extract:
my $tar = Archive::Tar->new();
$tar->read( 'file.tar' );
$tar->extract();
Вы могли бы хотеть посмотреть на Архив:: Tar на CPAN. (Я просто предполагаю, я никогда не использовал его сам.), Почему Вы настаиваете на том, чтобы делать его в Perl?
Можно использовать Архив:: модуль Perl Tar, или можно выполнить tar непосредственно.
Если Вы работаете с опцией использования tar от командной строки, используйте флаг-p для сохранения полномочий.
Если Вы буквально просто обращаетесь к tar каталог, я только что выполнил команду непосредственно, Вы не должны использовать Perl. Если необходимо сделать некоторое воображение, обрабатывающее впоследствии, возможно, Вы должны. Это зависит.
Это звучит мне как rsync, могло бы быть лучшее решение для этого, но Вы не сказали многое о том, что другие ограничения Вы имеете.
Два параметра; имя сжатого файла tar и имя каталога, который вы хотите в файле tar. например,
tarcvf test.tar.gz mydir
#!/usr/bin/perl -w
use strict;
use warnings 'all';
use Archive::Tar;
use File::Find;
my $archive=$ARGV[0];
my $dir=$ARGV[1];
if ($#ARGV != 1) {
print "usage: tarcvf test.tar.gz directory\n";
exit;
}
# Create inventory of files & directories
my @inventory = ();
find (sub { push @inventory, $File::Find::name }, $dir);
# Create a new tar object
my $tar = Archive::Tar->new();
$tar->add_files( @inventory );
# Write compressed tar file
$tar->write( $archive, 9 );